2015-01-11 2 views
0

내 WebAPI 응용 프로그램에서 내 클라이언트로부터 원시 json 문자열을 가져오고 싶습니다. 원시 json을 매개 변수로 가져 오는 방법

나는 이런 식으로 시도 :
public string Get([FromBody]string rawjson) 
    { 


    } 

은 내가 먼저 내 방법을 시도하기 위해 구글 크롬 나머지 콘솔을 사용합니다. 내 json 콘텐츠를 RAW 본문에 추가 한 다음 요청을 보냅니다. 내 원시 json 데이터를 얻을 수있는 경우 메서드에 중단 점을 넣어 그러나 메서드를 호출하지만 rawjson null로 제공됩니다. 나는 또한 넣어 봤지만 그 중 하나를 작동하지 않았다.

내가 뭘 잘못하고 있니?

감사

+0

이 메소드를 어떻게 호출합니까? – su8898

+0

modelbinder는 들어오는 json을 정의한 모델로 변환하려고 항상 시도합니다. 당신이받는 json은 아마도'rawjson' 키를 가진 단일 문자열이 아니기 때문에, 그 키에 바인딩 할 수 없으므로 null을 리턴합니다. * 원하는대로 할 수 있다면 내부 기본 동작을 재정의 할 것입니다. 정확히 무엇이 될지 전혀 모르겠다. –

+0

@ su8898 내가 크롬의 나머지 콘솔에서 말했듯이. –

답변

0

요청 본문을 가질 수 없습니다 GET 방법과 따라서 [FromBody]을 사용하여 값을 구문 분석 할 수 없습니다. POST 방법을 사용하십시오.

+0

방금 ​​그걸 알아 냈습니다. 감사. 그러나, 나는 PUT을 시도하고 그것을 작동 그래서 이미 동일한 매개 변수와 함께 게시 메서드를 사용하고 있습니다. 고맙습니다. –

0

변경 당신은 스트림으로 귀하의 서비스에 게시 아무것도받을 것이며, 당신은 그냥 문자열로 그 흐름을 읽을 수있는 것보다 스트리밍 할 rawJson 매개 변수 유형

+0

또한 null로 제공하려고했습니다. –

+0

당신은 HttpContext.Current.Request.InputStream에서 그것을 읽으려고했지만 아무런 돈도받지 못했습니다? – Dimitri

관련 문제