MVC Web 中的操作 API 控制器未触发

Action in MVC Web API controller not firing

我有一个 ASP .Net Core 1.1 MVC Web Api。在其中,我有一个似乎无法正常工作的控制器。当我导航到其中一项操作(它只有一个)时,它不会触发:

namespace InspectionsWebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/ValidateUsers")]
    public class ValidateUsersController : Controller
    {
        private readonly InspectionsContext _context;
        private readonly ILogger<UsersController> _logger;

        public ValidateUsersController(InspectionsContext context, ILogger<UsersController> logger)
        {
            _context = context;
            _logger = logger;
        }

        // GET: api/ValidateUsers/abcde12345
        [HttpGet("nameIdentifier")]
        public async Task<IActionResult> ValidateUser([FromRoute] string nameIdentifier)
        {
            // This code never fires
        }
    }
}

我导航到

http://localhost:50082/api/validateusers/john123

我收到 404 错误。

您忘记使用大括号使其成为路由值:

[HttpGet("{nameIdentifier}")]

通过在没有花括号的情况下指定它,它期望 URL 像 http://localhost:50082/api/validateusers/nameIdentifier.