간단한 예 - ASP.Net (a)는 REST 서비스를 구축 WebAPI 사용

REST 웹 서비스의 부여는 사용이 매우 간단하기 때문에, 점점 더 기업의 백엔드 서비스 통합의 선호하는 방법이되었다. 이 문서를 신속하게 마이크로 소프트의 Asp.Net WebAPI를 통해 REST-ful입니다 서비스를 구축하는 방법을 여기에 대해 설명합니다.

먼저 Asp.Net 웹 응용 프로그램을 만들 (여기에 내가 비주얼 스튜디오 2013를 사용, 그것은 내장 된 웹 API2).

    

아웃 템플릿 빈 (빈 프로젝트)을 선택하고 WebAPI을 선택합니다. 확인을 클릭하면 빈 WebAPI 서비스를 만들 수 있습니다.

    

우리는 REST 모델의 기본 동작을 보면 다음 첫 번째로 진행하기 전에이 시간 만 빈 프로젝트에서, 대략 다음과 같은 네 가지 범주로 나눌 수 있습니다, 어떤 기능이 없습니다 :

  • POST는 - 자원 만들기
  • GET - 자원 검색
  • PUT - 자원 업데이트
  • DELETE - 자원 삭제

아주 고전적인 CRUD 모델. 웹 API는 매우 간단 이러한 모델을 구현, 직접 사용 마법사는 컨트롤러 구축

    

    

기존의 마법사 경우 제거 마법사 뒤에 그 일을 기억 :

 

다음과 같이 기본 템플릿을 읽

    public class ValuesController : ApiController
    {
        // GET api/<controller>
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/<controller>/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/<controller>
        public void Post([FromBody]string value)
        {
        }

        // PUT api/<controller>/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/<controller>/5
        public void Delete(int id)
        {
        }
    }

这其实已经帮我们实现了一个最基本的服务了,不过这个服务中只实现了Get,它支持如下两种中方式的URL访问(其它的方式也能访问,但没有具体的效果):

  • api/values        访问所有的Value列表    
  • api/values/{id}        根据ID访问Value

按Ctrl + F5中执行,在浏览器中输入相应的地址即可看到结果

    

下面我们要做的就是完善它,实现一个简单的查询功能,这里我引用了微软官方的一个例子:

public class ProductsController : ApiController
{
        Product[] products = new Product[]
        {
            new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 },
            new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M },
            new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M }
        };

        public IEnumerable<Product> Get()
        {
            return products;
        }

        public IHttpActionResult Get(int id)
        {
            var product = products.FirstOrDefault((p) => p.Id == id);
            if (product == null)
            {
                return NotFound();
            }
            return Ok(product);
        }
    }

    public class Product
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Category { get; set; }
        public decimal Price { get; set; }
    }

此时,我们就可以在浏览器中看到结果了(由于Controller改名字了,此时的地址就变成了api/products)

    

到此为止,一个基于Asp.net Web API的 简单的REST Web服务就构建完成了,由于篇幅所限,这里就不做更多的介绍了,跟多信息可以参看微软官方文档:Getting Started with ASP.NET Web API 2。另外,如果想对REST有更深入的了解的话,可以看看infoq的这篇文章:深入浅出REST。关于Asp.net Web API其它内容,我后续大概还会陆续写几篇文章来介绍它。

추천

출처www.cnblogs.com/blogsaspx/p/11093854.html