FromUri 查询字符串 web api

FromUri query string web api

我正在尝试使用 Web Api 从我的数据库中查询数据。问题是当我使用 Postman 发送 get 请求时出现错误。我在我的程序中设置了断点,但该方法没有收到请求。

{
    "Message": "The requested resource does not support http method 'GET'."
}

我尝试查询以下字符串:

https://localhost:44384/api/advertentie/search?location=Makarska&property=null&price=null&rooms=null&beds=null&baths=null
public class QueryModel
{
    public string Location { get; set; }
    public string Property { get; set; }
    public decimal? Price { get; set; }
    public int? Rooms { get; set; }
    public int? Beds { get; set; }
    public int? Baths { get; set; }

}

[HttpGet]
[Route("api/advertentie/search{Location}/{Property}/{Price}/{Rooms}/{Beds}/{Baths}")]
public IHttpActionResult Search([FromUri] QueryModel query)
{

}

正如@mason 所指出的,您正在使用两种不同的URL 方案。如果你想使用查询参数,你应该使用[FromQuery]。然后,您可以将路线更改为 [Route("api/advertentie/search")]。最终结果如下所示

[HttpGet]
[Route("api/advertentie/search")]
public IHttpActionResult Search([FromQuery] QueryModel query)
{

}