【问题标题】:Action in MVC Web API controller not firing [closed]MVC Web API 控制器中的操作未触发 [关闭]
【发布时间】:2017-11-21 07:25:39
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    您忘记了将大括号设为路由值:

    [HttpGet("{nameIdentifier}")]
    

    通过不使用花括号指定它,它需要一个类似http://localhost:50082/api/validateusers/nameIdentifier 的 URL。

    【讨论】:

    • 谢谢你,mcuh juunas!成功了!我实际上认为花括号使参数成为可选参数?
    猜你喜欢
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2017-04-26
    • 2019-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多