我一直在尝试在启用 Swagger 的 .NET Core 6 中创建 API,并使用
Put
动词创建两种方法。我收到一条错误消息,说两条路线都匹配相同的参数。
[HttpPut("{id}")]
public IActionResult Update(int id, [FromBody] Data data) {};
[HttpPut("{id}")]
public IActionResult ToggleActivate(int id, bool active) {};
假设第一个会回复
/SampleController/5
并允许定期更新,第二个会回复/SampleController/5/ToggleActivate
我几乎在每一篇关于它的帖子中都看到它应该用 Route 属性装饰,但我尝试了一些变体,但似乎没有一个起作用。并得到错误:
冲突的方法/路径组合“PUT api/SampleController/{id}”
感谢任何帮助:)
您可以为动作动词添加路由,即 [HttpPut("{id}/Update")], [HttpPut("{id}/ToggleActivate")]