Веб-API asp.net не маршрутизирует http GET с параметрами запроса
У меня есть два действия контроллера, определенные в моем AgenciesController следующим образом:
public IEnumerable<AgencyDTO> GetAll()
{
}
public AgencyDTO GetForLocation(double lat, double lon)
{
}
Когда я отправляю следующий запрос HTTP GET
http://localhost:13057/api/agencies?lat=45.4214&lon=-75.6919
второй метод, который принимает два параметра двойного ввода, никогда не вызывается. Вместо этого всегда вызывается GetAll. Это использует WebApiConfig по умолчанию, что, на мой взгляд, должно быть достаточно. Я попытался использовать строки для параметров lat и lon, и это не имело значения.
Что мне не хватает?
ТИА.
1 ответ
Это была проблема с тем, как отправлялся запрос HTTP GET. Я использовал cURL для отправки запроса, и он удалял параметры запроса после URL. Мне нужно было обработать весь URL двойными кавычками следующим образом:
curl -X GET "http://localhost:13057/api/agencies?lat=45.4214&lon=-75.6919"
Оглядываясь назад, я должен был указать, что этот запрос отправлялся или пытался отправить его через браузер, прежде чем опубликовать вопрос.