这系列我们主要介绍一下HttpClient,该类主要是用来从统一资源标识符(URI)标识的资源来发送HTTP请求或者接受HTTP响应,我们可以使用该类做一些WebAPI资源请求和处理,我们通过例子来介绍如何使用HttpClient
1.默认方式
首先我们创建一个AspNetCore.HttpClient项目,添加如下代码在Program.cs,该代码实际上调用AddHttpClient方法注册IHttpClientFactory
接下来我们在HomeController构造函数中通过依赖注入获取到IHttpClientFactory类:
接着我们在HomeController中新增BasicUsage方法,我们使用该方法来请求github api,在这个例子中,我们获取微软asp.net core doc仓库的分支:
在BasicUsage方法内部定义了一个HttpRequestMessage对象,该对象主要表示HTTP请求的消息,主要包含HTTP请求头,HTTP请求方法以及数据,我们使用IHttpClientFactory接口中的CreateClient方法创建一个HttpClient对象,接下来调用HttpClient的SendAsync方法发送异步HTTP请求,该方法返回一个HttpResponseMessage对象,该对象包含了我们请求的结果,我们读取该对象,并将结果序列化到GitHubBranch类的集合中,到此整个请求完成,我们将结果返回给视图: