如何使用ASP.NET 5调用RESTful API

时间:2015-10-01 15:27:51

标签: asp.net asp.net-core dnx

在Visual Studio Code中使用Mac 5上的ASP.NET 5。我有一个RESTful API我需要调用,而不确定如何做到这一点。我见过很多使用WebClient,HttpClient,WebRequest和HttpWebRequest的例子。

我认为我的痛点是dnxcore50框架。有人可以用一些代码示例指出我正确的方向吗?

3 个答案:

答案 0 :(得分:8)

以下是有关如何调用服务的示例。请仔细检查Referencesusing

您必须做的一件重要事情是安装Web API客户端库软件包:从工具菜单中选择 NuGet软件包管理器,然后选择软件包管理器控制台即可。在“程序包管理器控制台”窗口中,键入以下命令:Install-Package Microsoft.AspNet.WebApi.Client

有关完整源代码,请查看此link

Call service

答案 1 :(得分:3)

我假设它与ASP .NET 5之前的方式相同,所以首先安装ASP .NET Web API客户端库NuGet包。

如果可以,请参考System.Net.Http:

using System.Net.Http;

然后按如下方式使用它:

using (var httpClient = new HttpClient())
{
    var response1 = await httpClient.GetAsync(url1);
    var response2 = await httpClient.PostAsync(url2);
    var response3 = await httpClient.SendAsync(url3);
}

那只是给你回复。通常,您需要查看内容,尤其是GET请求。您可以通过以下方式执行此操作:

var content = await response1.Content.ReadAsStringAsync();

这只是给你内容中的字符串,所以如果它是JSON,你可能想使用像JSON.NET(Newtonsoft.Json)这样的东西将它反序列化为结构化类。

这是来自内存所以你可能需要在这里和那里进行一些调整。

答案 2 :(得分:3)

要做到这一点,我正在使用NuGet提要https://api.nuget.org/v3/index.json

在我的project.json中,我目前有这些相关的依赖项,只使用“dnxcore50”框架:

"Microsoft.AspNet.WebApi.Client": "5.2.3",
"System.Net.Http": "4.0.0",
"System.Runtime.Serialization.Xml": "4.0.10"

然后我正在使用HttpClient。现在(beta7)因为https://github.com/dotnet/corefx/issues/2155而无法在Linux或OSX上运行。