【发布时间】:2019-05-13 22:26:07
【问题描述】:
我有一个使用 mvn 生成的控制器,看起来像这样......
public class TeamApiController : ControllerBase
{
/// <summary>
///
/// </summary>
/// <param name="teamID"></param>
/// <response code="200">Success</response>
[HttpGet]
[Route("/api/Team/{teamID}/members")]
[ValidateModelState]
[SwaggerOperation("GetStaffMembersByTeamID")]
[SwaggerResponse(statusCode: 200, type: typeof(TeamDetails), description: "Success")]
public virtual IActionResult GetStaffMembersByTeamID([FromRoute][Required]int? teamID)
{
// return null;
}
}
我想继承这个控制器并实现我自己的方法
public class TeamImpController : TeamApiController
{
private readonly IStaffService staffService;
public TeamImpController(IStaffService staffService)
{
this.staffService = staffService;
}
public override IActionResult GetStaffMembersByTeamID([FromRoute][Required]int? teamID)
{
// write my override method
}
}
一切都编译了,但是当我运行它时得到
AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:
基本上我试图继承生成文件的路由,但覆盖方法
【问题讨论】:
标签: api asp.net-core controller routes overriding