在Visual Studio Code中使用Mac 5上的ASP.NET 5。我有一个RESTful API我需要调用,而不确定如何做到这一点。我见过很多使用WebClient,HttpClient,WebRequest和HttpWebRequest的例子。
我认为我的痛点是dnxcore50框架。有人可以用一些代码示例指出我正确的方向吗?
答案 0 :(得分:8)
以下是有关如何调用服务的示例。请仔细检查References
和using
。
您必须做的一件重要事情是安装Web API客户端库软件包:从工具菜单中选择 NuGet软件包管理器,然后选择软件包管理器控制台即可。在“程序包管理器控制台”窗口中,键入以下命令:Install-Package Microsoft.AspNet.WebApi.Client
。
有关完整源代码,请查看此link。
答案 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上运行。