1

我已經創建了一個MVC項目(稱爲DeploymentTool),並在解決方案中添加了另一個webAPI項目(稱爲DeploymentToolAPI),因此NameSpace對於這兩個項目都是不同的。現在我想要的是從外部調用DeploymentToolAPI的任何HTTPPOST/HTTPGET方法,例如POSTMAN或Web瀏覽器。我們需要更新WebApiConfig.cs嗎? 如果不是,我如何找到DeploymentToolAPI的URL。我可以調用任何DeploymentTool方法,但在DeploymentToolAPI的情況下它不起作用。Rest API ASP.NET

希望任何幫助/建議。

回答

1

首先,你需要Set Multiple Startup Projects使您的API服務和MVC Web應用程序同時啓動:

在Visual Studio中右鍵單擊您的解決方案 - >屬性 - >選擇 「多啓動項目」 - >設置兩個項目的行動開始:

Set Multiple Startup Projects in Visual Studio

一旦完成後續由@Ankush Jain發佈的說明或從瀏覽器窗口複製WEB API網址,因爲當您在設置多個啓動項目後運行項目時,您會看到您的web api服務和MVC web應用程序都將在瀏覽器中打開在兩個不同的標籤。

+0

是的。謝謝丹尼斯。 – Vivek

2
  1. 右鍵單擊Web API項目,請訪問Web選項卡上的屬性
  2. 去,你會看到項目URL文本框
  3. 這會告訴你你的網頁API項目的基本URL。 (即http://localhost:8526
  4. 然後轉到WebApiConfig.cs檢查URL路由模式。

    using System; 
    using System.Collections.Generic; 
    using System.Linq; 
    using System.Web.Http; 
    
    namespace StandardWebApiTemplateProject 
    { 
        public static class WebApiConfig 
        { 
         public static void Register(HttpConfiguration config) 
         { 
          config.Routes.MapHttpRoute(
           name: "DefaultApi", 
           routeTemplate: "api/{controller}/{id}", 
           defaults: new { id = RouteParameter.Optional } 
          ); 
         } 
        } 
    } 
    

如果你有路徑模板一樣 -

routeTemplate: "api/{controller}/{id}" then your url will be like 
ie. http://localhost:8526/api/ControllerName/89 

,如果你在路徑模板包括操作名稱則情況就會像下面

routeTemplate: "api/{controller}/{action}/{id}" then your url will be like 
ie. http://localhost:8526/api/ControllerName/ActionName/89 
+0

謝謝Ankush。你的解釋#2給了我我正在尋找的東西。非常感謝。 – Vivek