Web API-Web URL的默认路由

时间:2019-07-09 07:27:50

标签: rest api web asp.net-web-api

嗨,我已经设置了一个网络API。我要路由到的网址是https://localhost:44378 但是Web API迫使我使用https://localhost:44378/api/status

如何设置默认值,以便https://localhost:44378处有流量通过?重定向到与https://localhost:44378/api/status相同的代码?

我尝试使用*作为默认路由

1 个答案:

答案 0 :(得分:1)

您应在应用程序的App_Start文件夹中拥有一个WebApiConfig.cs。

    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {

            .......

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }

尝试从routeTemplate中删除“ api”。

对于.net核心Web api,默认值为控制器中的Route属性。

如果我使用模板在.Core中创建Web Api,则会为我提供一个ValuesController。

namespace CoreApi.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {

只需更改route属性并删除api

        [Route("[controller]")]