从C#客户端调用rest api

时间:2014-06-02 18:52:39

标签: c# rest client

使用c#。

我只想澄清一些事情......我通常会与WCF合作。我可以像打电话给WCF一样打电话给休息api吗?或者我使用WebClient并解析responseStream?如果其余的api返回格式化为JSON的字符串,那么我会以某种方式在responseStream中格式化这个json吗?

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

具体是否有其他api客户的标准?它只是选择吗?

1 个答案:

答案 0 :(得分:1)

您应该查看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个关键字一起使用