ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。 ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。
REST是英文representational state transfer(表象性状态转变)或者表述性状态转移; Rest是web服务的一种架构风格; 使用HTTP,URI,XML,JSON,HTML等广泛流行的标准和协议; 轻量级,跨平台,跨语言的架构设计; 它是一种设计风格,不是一种标准,是一种思想。
事务为对象,资源有统一,形式有多样(xml、json等) 每个资源都有一个唯一的资源标识符。 同一个资源具有多种表现形式(xml,json等)。 对资源的各种操作不会改变资源标识符。 所有的操作都是无状态的。 符合REST原则的架构方式即可称为RESTful。
####2.2 为什么会出现restful?
在Restful之前我们写一个web请求,格式通常是这样的:
Restful用法:
restful风格其实就是根据请求的类型(get、post、put、delete)来匹配对应的方法。
在实际开发中,http请求的方法可能是相同的(比如都是post请求),而且请求的参数也相同。这个问题就麻烦。因为遵照Restful风格无法解决。大家可能想到自定义一个路由,比如增加action,可以,但是在webAPI里面是不提倡的。
首先,我们启动特性路由。 就可以使用特性路由。
【1】 无参数的POSt请求
和Get方式请求相同。只不过在客户端$.get和$.post区别。同时只需要添加[httpPost]标记特性即可。
【2】 一个参数的POST请求
和Get方式不一样,动作方法参数上面必须添加[FromBody]标记,否则访问不到!同时WebAPI请求传递的参数,也有特定的格式。而这种格式并不是我们常见的key-value格式。WebAPI模型绑定器寻找的时候,并是按照key去查找。而且空字符串。