在 MVC 6 中使用 REST 服务
Consume REST service in MVC 6
我需要帮助。我正在创建一个 MVC 6 应用程序并停留在我应该从 REST 服务使用 JSON 的部分。我找不到将我的项目连接到服务然后使用它的方式。
无法像以前的版本一样添加服务引用,我找不到它 ASP.NET 5 文档,其中规定了在 MVC 6 中使用第三方服务的策略。有人遇到过同样的问题吗?
要从 MVC 中的 RESTful 服务获取 JSON,您只需对服务 API 进行 http 调用,然后使用包含 [=] 属性的模型解析响应18=]。您可以在此处阅读更多相关信息:
http://bitoftech.net/2014/11/18/getting-started-asp-net-5-mvc-6-web-api-entity-framework-7/
一个例子看起来像这样:
public YourModel MakeRequest(string requestUrl)
{
try
{
HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
{
throw new Exception(String.Format("Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription));
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
var responseObject = serializer.Deserialize<YourModel>(response);
return responseObject;
}
}
catch (Exception e)
{
// catch exception and log it
return null;
}
}
ASP.NET 中的 REST 服务没有 "add a service reference" 功能(就像 WSDL 描述的那样)。
从来没有。您使用该服务就像使用 javascript 从浏览器直接使用它一样。
不同之处在于,您需要使用任何 http 客户端(HttpClient 或 RestSharp 是最流行的)在 .NET 中编写类似的代码。
有一些努力使 REST 服务更易于使用。 Swagger 是我用来描述我的 API 的工具。它还允许为各种语言生成客户端代码。
我需要帮助。我正在创建一个 MVC 6 应用程序并停留在我应该从 REST 服务使用 JSON 的部分。我找不到将我的项目连接到服务然后使用它的方式。
无法像以前的版本一样添加服务引用,我找不到它 ASP.NET 5 文档,其中规定了在 MVC 6 中使用第三方服务的策略。有人遇到过同样的问题吗?
要从 MVC 中的 RESTful 服务获取 JSON,您只需对服务 API 进行 http 调用,然后使用包含 [=] 属性的模型解析响应18=]。您可以在此处阅读更多相关信息: http://bitoftech.net/2014/11/18/getting-started-asp-net-5-mvc-6-web-api-entity-framework-7/
一个例子看起来像这样:
public YourModel MakeRequest(string requestUrl)
{
try
{
HttpWebRequest request = WebRequest.Create(requestUrl) as HttpWebRequest;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
if (response.StatusCode != HttpStatusCode.OK)
{
throw new Exception(String.Format("Server error (HTTP {0}: {1}).", response.StatusCode, response.StatusDescription));
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
var responseObject = serializer.Deserialize<YourModel>(response);
return responseObject;
}
}
catch (Exception e)
{
// catch exception and log it
return null;
}
}
ASP.NET 中的 REST 服务没有 "add a service reference" 功能(就像 WSDL 描述的那样)。 从来没有。您使用该服务就像使用 javascript 从浏览器直接使用它一样。 不同之处在于,您需要使用任何 http 客户端(HttpClient 或 RestSharp 是最流行的)在 .NET 中编写类似的代码。
有一些努力使 REST 服务更易于使用。 Swagger 是我用来描述我的 API 的工具。它还允许为各种语言生成客户端代码。