簡體   English   中英

在MVC 6中使用REST服務

[英]Consume REST service in MVC 6

我需要幫助。 我正在創建一個MVC 6應用程序,並堅持我應該從REST服務中使用JSON的部分。 我找不到將項目連接到服務然后使用它的方法。

沒有辦法像以前的版本一樣添加服務引用,我找不到ASP.NET 5文檔,其中規定了在MVC 6中使用第三方服務的策略。 有人有同樣的問題嗎?

要在MVC中從RESTful服務獲取JSON,您只需對服務API進行http調用,並使用包含json屬性的模型解析響應。 你可以在這里閱讀更多相關信息: 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服務沒有“添加服務引用”功能(就像WSDL描述的那樣)。 從來沒有。 您可以使用javascript直接從瀏覽器中使用該服務。 不同之處在於您需要使用任何http客戶端在.NET中編寫類似的代碼(HttpClient或RestSharp是最受歡迎的)。

有一些努力使REST服務更容易使用。 Swagger是我用來描述我的API的工具。 它還允許為各種語言生成客戶端代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM