【问题标题】:Rest API ASP.NET休息 API ASP.NET
【发布时间】:2016-08-02 04:23:33
【问题描述】:

我已经创建了一个 MVC 项目(比如 DeploymentTool)并向解决方案添加了另一个 webAPI 项目(比如 DeploymentToolAPI),因此两者的 NameSpace 是不同的。现在我想要的是,从外部调用 DeploymentToolAPI 的任何 HTTPPOST/HTTPGET 方法,比如 POSTMAN 或 Web 浏览器。我们需要为此更新 WebApiConfig.cs 吗? 如果没有,如何找到 DeploymentToolAPI 的 URL。我可以调用 DeploymentTool 的任何方法,但在 DeploymentToolAPI 的情况下它不起作用。

不胜感激任何帮助/建议。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-web-api asp.net-web-api-routing


    【解决方案1】:
    1. 右键单击您的 WEB API 项目并转到属性
    2. 转到 Web 选项卡,您将看到项目 URL 文本框
    3. 这将告诉您 Web 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
    

    【讨论】:

    • 谢谢安库什。你的解释#2给了我我想要的东西。非常感谢。
    【解决方案2】:

    首先您需要Set Multiple Startup Projects 让您的 API 服务和 MVC Web 应用程序同时启动:

    在 Visual Studio 中右键单击您的解决方案 -> 属性 -> 选择“多个启动项目:” -> 将两个项目的 Action 设置为开始:

    一旦完成,请按照@Ankush Jain 发布的说明进行操作,或者只是从浏览器窗口复制 WEB API url,因为当您在设置多个启动项目后运行项目时,您会看到您的 web api 服务和 MVC Web 应用程序将在浏览器中的两个不同选项卡中打开。

    【讨论】:

    • 是的。谢谢丹尼斯。
    猜你喜欢
    • 2014-11-09
    • 2014-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多