2014-03-31 1 views
0

ASP.NET의 웹 API와 함께 IList의 수신 보내기 나는 내 웹 API에 IList의를 보내고받을 필요가

Exception:Thrown: "No MediaTypeFormatter is available to read an object of type 'List`1' from content with media type 'text/html'." (System.Net.Http.UnsupportedMediaTypeException) 
0 :

나는 오류를 얻을 123,414,편집 :

이 도움이하지만 IIS 로그 파일에서이 얻을 경우 나도 몰라 :

2014-03-31 16:11:31 127.0.0.1 GET /api/ikeyword/getkeywordidsfromids/System.Collections.Generic.List`1[System.Int32] - 80 - 127.0.0.1 - 404 0 2 1 

EDIT2 :

기본 경로 :

 config.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{action}/{id}", 
      defaults: new { id = RouteParameter.Optional } 
     ); 
+0

코드에 매개 변수를 추가하는 방법을 참조하십시오. http://stackoverflow.com/questions/217070/how-do-i-add-query -parameters-to-a-getmethod-using-java-commons-httpclient –

+0

안녕하세요. IList에 대한 예제가 없습니다. Patrick

+0

여기서'List ids'을 넣으시겠습니까? 당신은 몸이나 uri에 그것을두고? –

답변

1

를 호출하려면 쿼리 문자열에 int의 목록이있는 웹 API 동작은 다음과 같습니다.

당신이 제대로 콘솔 응용 프로그램의 목록을 포맷하고 URL로 추가 할 필요가처럼 IIS 로그에서

또는

/api/ikeyword/getkeywordidsfromids?ids[]=1&ids[]=3&ids[]=4 

, 그것은 보인다. 전화 코드는 다음과 같이 표시되어야합니다.

var parameters = ids.Select(id => string.Format("ids={0}", id)).ToArray(); 
var url = string.Format("/api/ikeyword/getkeywordidsfromids?{0}", string.Join("&", parameters)); 
+0

안녕 감사, 어떻게 가치를 처리하는 WebApi 메소드? – Patrick

+0

'ids'는'int'의리스트 여야합니다.'_iKeywordService.GetKeywordIdsFromIKeywordIds (ids)'로 바로 넘겨 줄 수 있습니다 ... –

+0

응답을 설정할 수 있도록 코드를 수정하십시오. 올바른 것으로 : "="i를 제거하십시오. n Format 메서드 : getkeywordidsfromids? {0} 그렇지 않으면 Api에서 첫 번째 값인 – Patrick

관련 문제