API 中的一切都已正常工作数周,然后今天我进行了更改以添加另一个控制器方法,但现在所有路由都不起作用。
控制器定义:
[Route("api/v{version:apiVersion}/Group")]
[ApiController]
public class GroupController : ControllerBase
Run Code Online (Sandbox Code Playgroud)
方法 def 添加:
/// <summary>
/// Get Members of Group
/// </summary>
/// <param name="groupId">Id of the group to retreive members from</param>
/// <returns>The http status code 204 if sucessful</returns>
[AllowAnonymous]
[HttpGet("Members/{id:int}")]
[ProducesResponseType(StatusCodes.Status200OK)]
[ProducesResponseType(StatusCodes.Status404NotFound)]
[ProducesResponseType(StatusCodes.Status409Conflict)]
[ProducesResponseType(StatusCodes.Status500InternalServerError)]
public IActionResult Members(int id)
{
var members = _groupLib.GetMembers(id);
if (members == null)
{
return NotFound();
}
return Ok(members);
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,有一个约束应用于 id 但已被控制器内的其他方法使用。
我什至尝试消除限制,但没有快乐。不需要约束的方法也已停止工作。
这是我的startup.cs
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration …Run Code Online (Sandbox Code Playgroud)