WEB API 中HTTP 请求方式的四个主要方法 (GET, PUT, POST, DELETE), 按照下列方式映射为 CURD 操作:
- GET 用于获取 URI 资源的进行展示,GET 操作不应对服务端有任何影响,用于数据集合的Select查询;
- PUT 用于更新 URI 上的一个资源,如果服务端允许,PUT 也可以用于新建一个资源,用于相关的Insert插入操作;
- POST 用于新建资源,服务端在指定的URI 上创建一个新的对象,将新资源的地址作为响应消息的一部分返回,用于相关的Update;
- DELETE 用于删除指定的URI 资源。根据输入的参数进行相关的删除操作。
客户端除了可以使用旧有的 WebClient、HttpWebRequest 去访问服务器Api外,还可以使用新的 HttpClient 类别进行操作,HttpClient 类别是包含在 .Net Framework 4.5 中的 System.Net.Http 之命名空间底下,HttpClient 类别一般来说需要在 .Net Framework 4.5 上才能够使用,可以使用 NuGet 搜寻 Microsoft.Net.Http,NuGet 有提供 4.0 可以使用的安装包。
HttpClient类在传递信息的时候通常要通过多层的Handler,进行信息的层层传递,服务器接收到request请求,然后做出应答返回信息,这一过程也被人称为Delegating Handler.
而在网页端,也可以通过Jqery Ajax异步请求Web API获得数据.
-
data (Map) : (可选参数) 发送至服务器的 key/value 数据。
-
url (String) : 请求的HTML页的URL地址.
-
dataType:服务器返回的值会跟据这个数据类型进行解析。
- success:当请求之后调用,传入返回后的数据,以及包含成功代码的字符串。
dataType的数据类型
•"xml": 返回 XML 文档,可用 jQuery 处理。
•"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
•"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将 使用 DOM 的 script标签来加载)
•"json": 返回 JSON 数据 。
•"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
•"text": 返回纯文本字符串
二、场景模拟
c# Application 控制台模拟访问请求get数据
使用HttpClient的PostAsync访问服务器Get请求获的Token,凭借令牌去访问数据,然后返回数据。
1 public class Token 2 { 3 [JsonProperty("Access_Token")] 4 public string AccessToken { get; set; } 5 }