博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
web api 文档声明
阅读量:6708 次
发布时间:2019-06-25

本文共 1964 字,大约阅读时间需要 6 分钟。

namespaceHelloWebAPI.Controllers{
    usingHelloWebAPI.Models;    usingSystem;    usingSystem.Collections.Generic;    usingSystem.Linq;    usingSystem.Net;    usingSystem.Net.Http;    usingSystem.Web.Http;    publicclassProductsController:ApiController    {
        Product[] products =newProduct[]         {
            newProduct{
Id=1,Name="Tomato Soup",Category="Groceries",Price=1},             newProduct{
Id=2,Name="Yo-yo",Category="Toys",Price=3.75M},             newProduct{
Id=3,Name="Hammer",Category="Hardware",Price=16.99M}         };        publicIEnumerable
GetAllProducts()        {
            return products;        }        publicProductGetProductById(int id)        {
            var product = products.FirstOrDefault((p)=> p.Id== id);            if(product ==null)            {
                thrownewHttpResponseException(HttpStatusCode.NotFound);            }            return product;        }        publicIEnumerable
GetProductsByCategory(string category)        {
            return products.Where(                (p)=>string.Equals(p.Category, category,                    StringComparison.OrdinalIgnoreCase));        }    }}

为了让例子保持简单,我们直接把产品存到控制器类里的一个固定数组里。当然,在实际的程序里需要从数据库里查询或者用其它的一些外部数据源。

控制器定义了三个方法,要么返回单个商品,要么返回一组产品:

  • GetAllProducts 方法返回所有的产品,返回类型为 IEnumerable<Product> 。
  • GetProductById 方法通过ID查询某个产品。
  • GetProductsByCategory 方法返回指定分类的所有产品。

完事儿了!web API已经能用了。每一个控制器上的方法都对应了一个URI

控制器方法 URI
GetAllProducts /api/products
GetProductById /api/products/id
GetProductsByCategory /api/products/?category=category

客户端只要通过放松一个HTTP GET请求到URI就可以调用相应的方法。待会儿我们来看看这个映射是怎么做的。但首先我们先把它跑起来试试。

 1.       Web API中包含的方法

 

Action

HTTP method

Relative URI

GetAllContact

GET

/api/contact

GetContact

GET

/api/contact /id

GetListBySex

GET

/api/contact?sex=sex

PostContact

POST

/api/contact

PutContact

PUT

/api/contact/id

DeleteContact

DELETE

/api/contact/id

转载于:https://www.cnblogs.com/fx2008/p/3317070.html

你可能感兴趣的文章
js生成动态的飘过效果
查看>>
Java进阶05 多线程
查看>>
SQLSERVER性能监控级别步骤
查看>>
Java使用ScriptEngine(javax.script)
查看>>
Nhibernate中 Many-To-One 中lazy="proxy" 延迟不起作用的原因
查看>>
C# COM Object for Use In JavaScript / HTML, Including Event Handling
查看>>
svn权限设置
查看>>
MVC验证11-对复杂类型使用jQuery异步验证
查看>>
C++static关键字用法
查看>>
excel在msdn上的说明文档
查看>>
指尖下的js ——多触式web前端开发之一:对于Touch的处理(转)
查看>>
visual studio 2013使用技巧
查看>>
Sublime Text 相关
查看>>
深入理解css优先级
查看>>
Android MediaPlayer状态机
查看>>
Material Design Animation
查看>>
ASP.NET MVC搭建项目后台UI框架—3、面板折叠和展开
查看>>
(C语言)memcpy函数原型的实现
查看>>
Theano2.1.1-基础知识之准备工作
查看>>
FreeBSd ports 安装软件
查看>>