2013-07-31 3 views
0

내가 내 AgenciesController에 정의 된 두 개의 컨트롤러 액션이 매개 변수 :asp.net 웹 API 라우팅하지 HTTP GET 쿼리는 다음과 같이

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에 문자열을 사용하여 시도했지만 차이가 없습니다.

무엇이 누락 되었습니까?

TIA.

답변

0

이것은 HTTP GET 요청이 제출되는 방식과 관련된 문제였습니다. 요청을 제출하는 데 cURL을 사용하고 URL 다음에 쿼리 매개 변수를 제거했습니다.

curl -X GET "http://localhost:13057/api/agencies?lat=45.4214&lon=-75.6919" 

돌이켜에서, 내가 지시해야 THS 요청을 제출하거나 질문을 게시하기 전에 브라우저를 통해 제출 시도 받고 다음과 같이 나는 큰 따옴표로 전체 URL을 soround 할 필요가 있었다.