WebApi系列~通过HttpClient来调用Web Api接口

HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api的方法,基于api项目的特殊性,它需要有一个完全安全的环境,所以,你的api控制器看起来有点特别,只有5个方法,而且都是标准的http方法,我觉得这种设计很不错,很清晰,而且为了实现安全性,它不支持使用传统的表单数据,取而代之的是FromBody参数,它指拿HttpRequestMessage里参数,而不是所有的Request数据,这是基于安全方面的考虑。

一 Api接口参数的标准性

Get方式,可以有多个重载,有多个参数

POST方式,只能有一个参数,并且用[FromBody]约束,如果有多个参数,需要以对象的方式进行传递

Put方式,只能有两个参数,其中一个是通过Request.QueryString方式进行传递的,作为要更新对象的主键,别一个是[FromBody]字段,也是一个字段,如果多个字段需要把它封装成对象

标准接口如图

 

二 调用方,参数的标准性

在客户端进行接口调用时,我们以网页端为例,看一下网页端进行ajax跨域请求的代码

Get方式

WebApi系列~通过HttpClient来调用Web Api接口_第1张图片

post方式

WebApi系列~通过HttpClient来调用Web Api接口_第2张图片

三 在控制台中实现Get方式获取接口数据(只有异步实现)

WebApi系列~通过HttpClient来调用Web Api接口_第3张图片

四 在控制台中实现Post方式提交数据(只有异步实现)

WebApi系列~通过HttpClient来调用Web Api接口_第4张图片

五 在控制台中实现Put方式提交数据(只有异步实现)

WebApi系列~通过HttpClient来调用Web Api接口_第5张图片

 

 

文章来自:源码在线https://www.shengli.me/api/40.html

你可能感兴趣的:(WebApi系列~通过HttpClient来调用Web Api接口)