我在.Net Core2.2WebAPI上有一个控制器。
有一个POST方法负责创建一个实体。当前的需求是添加另一个POST方法,以便能够创建许多。下面是我的示例代码(没有使用其他路由):
[Route("api/[controller]")]
public class SampleController: BaseController
{
[HttpPost]
public Task<IActionResult> Create([FromBody] SampleModel model) {...}
[HttpPost]
public Task<IActionResult> CreateMany([FromBody] IEnumerable<SampleModel> models) {...}
}就异常消息而言,这两条路径都是不明确的。但对我来说,这似乎并不平静、清晰。事实上,actions的论点是不同的类型。也许我错过了什么,或者这是一个自然的限制?
发布于 2020-04-06 11:18:12
在HTTP中没有“操作”和“参数”。
当您的应用程序接收到api/Sample的POST请求时,应用程序基础结构必须将请求发送到某个地方。Create和CreateMany使用相同的路径,因此不可能选择其中的一条。
您可以为这些操作之一修改路由,例如使用HttpPost("CreateMany")],或者删除第一个操作,因为它是多余的。
https://stackoverflow.com/questions/61058396
复制相似问题