Веб-интерфейс API строки запроса FromUri

Я пытаюсь запросить данные из своей базы данных с помощью Web Api. Проблема в том, что я получаю сообщение об ошибке, когда отправляю запрос на получение с помощью Postman. Я установил точки останова в своей программе, но метод не получает запрос.

{
    "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)
{

}

1 ответ

Решение

Как отметил @mason, вы используете две разные схемы URL. Если вы хотите использовать параметры запроса, вы должны использовать[FromQuery]. Затем вы измените свой маршрут на просто[Route("api/advertentie/search")]. Конечный результат будет выглядеть так

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

}
Другие вопросы по тегам