HTTP 属性与路由相同 - ASP.Net 核心 API?

HTTP Attribute Same as Routing - ASP.Net Core API?

我正在制作一个 ASP.net 核心 2.0 Web API 并在我的控制器中有一个名为

的方法
[HttpPost("Create")]
public void Create()
{
    //  var d = employee;
}

HttpPost[Route] 属性的作用相同还是我需要两者?

对于 Asp.Net Core Web API 你不需要两者。

它的作用与 Route 相同,是推荐的方法。将 MVC 与视图一起使用时,您可以同时使用 RouteHttp{Verb}

文档状态...

When building a REST API, it's rare that you will want to use [Route(...)] on an action method. It's better to use the more specific Http*Verb*Attributes to be precise about what your API supports. Clients of REST APIs are expected to know what paths and HTTP verbs map to specific logical operations.

引用Routing to Controller Actions in ASP.NET Core

我还建议让您的操作 return IActionResult 允许从操作中 return 编辑正确的 HTTP 动词。

[HttpPost("Create")]
public IActionResult Create() {
    //  var d = employee;
    return Ok();
}

void 动作总是 return 200 OK 除非抛出异常。这限制了操作的可能响应。