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)
{
}
我正在尝试使用 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)
{
}