Веб-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"

Оглядываясь назад, я должен был указать, что этот запрос отправлялся или пытался отправить его через браузер, прежде чем опубликовать вопрос.

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