如何解决ASP.NET Core Web API-AmbiguousMatchException:该请求与多个端点匹配
我一直在研究,但是仍然找不到解决方案,
要返回所有玩家,我将传递类似以下内容: http:// localhost:7777 / api / teams / 34fe3b6f-ba23-4657-820a-6c59dd49173a / players
要返回特定团队中的特定球员,我将传递类似于以下内容的内容: http:// localhost:7777 / api / teams / 34fe3b6f-ba23-4657-820a-6c59dd49173a / players / f7de7974-9cbb-4c2c-884e-29036d6c2d76
我不断收到以下错误: System.ArgumentException:'路由参数名称'id'在路由模板中出现多次。 '
有人可以建议如何解决此问题吗?
[Route("api/Teams/{Id}/Players}")]
[ApiController]
public class PlayersController : ControllerBase
{
[HttpGet]
public IActionResult GetAllTeamPlayers(Guid id)
{
return Ok();
}
[HttpGet]
public IActionResult GetTeamPlayer(Guid id,Guid id2)
{
return Ok();
}
}
解决方法
您应该这样定义路线参数:
[Route("api/Teams/{teamId}/}")]
[ApiController]
public class PlayersController : ControllerBase
{
[HttpGet("players")]
public IActionResult GetAllTeamPlayers([FromRoute] Guid teamId)
{
return Ok();
}
[HttpGet("players/{playerId}")]
public IActionResult GetTeamPlayer([FromRoute] Guid teamId,[FromRoute] Guid playerId)
{
return Ok();
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。