如何在Core中获得经典的路由约定?

时间:2019-03-22 19:02:34

标签: asp.net-core

我正在使用Core 2构建Web API,我的方法命名如下:

public ActionResult<xxx> Get()
public void Post(...)
// etc

除非我指定了我不想使用的动词-[HttpGet], [HttpPost]等,否则我似乎无法将asp.net路由到它们上。

我尝试在[assembly: ApiConventionType(typeof(DefaultApiConventions))]类的顶部添加Startup,但似乎并没有解决问题。

这在ASP.NET Web API中非常有效。

1 个答案:

答案 0 :(得分:0)

我还没有尝试过,但是好像您可以安装此Nuget包来获取函数名称-> HTTP方法约定:https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.WebApiCompatShim/

您正在寻找的约定是这样的:https://github.com/aspnet/Mvc/blob/a6199bbfbab05583f987bae322fb04566841aaea/src/Microsoft.AspNetCore.Mvc.WebApiCompatShim/Conventions/WebApiActionConventionsApplicationModelConvention.cs#L85

好像您将其添加到ConfigureServices中一样:

services.AddMvc().AddWebApiConventions();