【发布时间】:2019-07-31 06:11:38
【问题描述】:
我有 ASP Core 2.2 应用程序。我定义了控制器:
using Microsoft.AspNetCore.Mvc;
namespace Web.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class UsersController : ControllerBase
{
[HttpGet]
public IActionResult Get()
{
return Ok();
}
[HttpGet("{id}")]
public IActionResult GetById(int id)
{
return Ok();
}
}
}
当我使用 url /api/users/3 请求时,一切正常,方法 GetById 被调用。但是,如果我尝试请求 /api/users?id=3 方法 Get 被调用,我不知道如何解决这个问题。此外,我想创建两个仅通过参数名称不同的类似方法。例如public IActionResult GetById(int id) 和public IActionResult GetByAge(int age),所以如果可能的话,我需要通过命名参数进行严格的路由。我不想自己实现自定义中间件来解析路由,我想尝试为此找到 ASP 功能。
【问题讨论】:
标签: asp.net-core routing