休息 API ASP.NET

Rest API ASP.NET

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

非常感谢任何帮助/建议。

  1. 右键单击您的 WEB API 项目并转到“属性”
  2. 转到 Web 选项卡,您将看到项目 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

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

在 Visual Studio 中右键单击您的解决方案 -> 属性 -> Select "Multiple startup projects:" -> 将两个项目的 Action 设置为 Start :

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