【发布时间】:2020-04-06 11:05:22
【问题描述】:
我是 .net 核心的新手,我想为我的 api 设置一个 MapRoute。 我在 startup.cs 中配置端点像
app.UseEndPoints(endpoints=>{
endpoints.MapController("defaultApi","v1/{controller="cont"}/{action}/{id?}");
endpoints.MapController("defaultNonActionApi","v1/{controller="cont"}/{id?}")l
endpoints.MapHealthChecks("/healthz");
});
在controller.cs中
[ApiController]
[Route("[controller]")]
public class contController:ControllerBase{
[HttpGet]
public ActionResult Get(){}
}
useEndpoints 中的配置没有用,如果我转到 https://localhost:port/v1/cont 它会返回 404,如果我转到 https://localhost:port/cont 它可以返回预期结果。
似乎 RouteAttribute 覆盖了 useEndpoints 中的配置,但我无法删除 ApiController 的 RouteAttribute。
我知道将Route("[controller]") 更改为Route("v1/[controller]") 可以解决这个问题,但我想要的是可以在startup.cs 中配置的更全局的东西。
谢谢。
【问题讨论】:
标签: asp.net-core-webapi asp.net-core-3.0