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

时间:2017-06-19 07:20:31

标签: controller routing asp.net-core-mvc asp.net-core-webapi asp.net-core-1.1

我有一个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错误。

1 个答案:

答案 0 :(得分:1)

你忘了花括号使它成为路线值:

[HttpGet("{nameIdentifier}")]

通过在没有花括号的情况下指定它,它需要一个像http://localhost:50082/api/validateusers/nameIdentifier

这样的URL