2014-06-14 6 views
0

어딘가에서 체인을 읽을 때 스트림을 읽을 수있는 방법을 보는 데 문제가 있습니다. 여기 @Context에서 getInputStream() grails의 HttpServletRequest 요청

내가 (페이로드, 신체) 및 (테스트 용) queryparam

요청 변수가 PARAMS에 액세스 할 수 있습니다하지만 난 때와 읽기 JSON 데이터 POST가 제 기능

@POST 
     @Consumes(["application/json"]) 
     public Response addGift(@Context HttpServletRequest request,@QueryParam("from") int from, 
       @ApiParam(value = "Indiviual Gift object to be inserted", required = true) posiba.api.v1.IndividualGift gift) { 
     return Response.ok().entity("{\"Submit\": \"Success\"}").build(); 

    } 

입니다 스트림에서

stream.available()은 0을 반환하고 스트림에서 아무 것도 얻지 못하면 스트림을 닫습니다.

거기에 입력 스트림 리더를 인라인 할 수있는 방법이 있습니다. 체인에서 읽지 않은 것은 무엇이든간에 읽을 수 없으므로 로컬에서 사용할 수 있습니다.

+0

질문은 Grails로 태그가 지정됩니다. 이 코드는 Grails 앱에 실제로 있습니까? –

+0

그래, 왜? 그것도 <- 아니야 실제로 거기에있는 것을 더 표현할 수있다. 나는 그것이 의미가 없다는 것을 알고 있지만 나의 상사는 grails 사용을 주장하고있다. – TPEACHES

답변

0

그것을 자신을 해결 - 해킹 방법의 상점을 조금 ----

목표는 대한 자신감을 알려 (상기와 같이) 응용 프로그램 그래서 난 하나 개의 방법이 내 Grails에에 자신감 UI를 사용하는 것이 었습니다 매개 변수 및 필요한 등 ... 그리고 요청을 받아들이고 그것의 내 사용자 정의 처리를 수행하는 별도의 함수를 만들었습니다

@POST 
    @Consumes(["application/json"]) 
    public Response addGiftt(@Context HttpServletRequest request, InputStream requestBody){ 
//stuff... 
    }