从c#客户端调用rest api

本文关键字:rest api 调用 客户端 | 更新日期: 2023-09-27 18:06:12

using c#.

我只是想澄清一些事情……我通常使用WCF。我可以像调用WCF一样调用rest api吗?或者我使用WebClient和解析responseStream?如果剩下的api返回字符串格式化为JSON,我会以某种方式格式化这个JSON在responseStream?

我花了一些时间在谷歌上搜索,但似乎有不同的建议。

对于其他API客户端有什么标准吗?这仅仅取决于选择吗?

从c#客户端调用rest api

您应该查看HttpClient(用于进行REST调用)和Json.NET(用于序列化/反序列化json):

简单的Get请求:

var httpClient = new HttpClient();
var response = await httpClient.GetAsync(uri);
//will throw an exception if not successful
response.EnsureSuccessStatusCode();
string content = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<SomeType>(content);

注意HttpClient是用异步API构建的,最好与async/await关键字一起使用