ASP.NET Web Api属性路由和查询字符串

问题描述 投票:0回答:1

我已经指定了这样的路由:

[RoutePrefix("users")]
public class UsersController : ApiController
{
    [ResponseType(typeof(List<User>))]
    [Route("")]
    public IHttpActionResult GetAll()
    {

    }

    [Route("{birthdate}")]
    [ResponseType(typeof(List<User>))]
    public IHttpActionResult GetByBirthdate(DateTime birthdate)
    {

    }

但是当我使用这个网址时:localhost/Users?birthdate=1907-04-19&api-version=2.0

我被重定向到GetAll()方法。这是为什么?

asp.net-web-api routing query-string attributerouting
1个回答
0
投票
localhost/Users?birthdate=1907-04-19&api-version=2.0

这意味着你用param birthdate调用url用户

如果你想要第二名,你需要使用

http://localhost/users/birthdate?birthdate=1907-04-19
© www.soinside.com 2019 - 2024. All rights reserved.