나중에 HTTP POST를 사용하기 위해 전체 HTTP POST 본문을 읽는 HTTPRequest라는 HttpServletRequestWrapper를 작성했습니다. 이 코드는 http://natch3z.blogspot.com/2009/01/read-request-body-in-filter.html저지에서 HttpServletRequestWrapper 가져 오기
의 코드를 기반으로합니다. My Jersey 서버 응용 프로그램은이 래퍼를 가져 와서 본문을 읽어야합니다. 불행히도, 어떻게 해야할지 모르겠다.
나는
@Context HTTPRequest request;
을 퍼팅 시도했지만 그것은 (필드에 대한 의존성을 누락) 작동하지 않습니다.
내가 너무 일을 시도했다 : 다음의 HTTPRequest에 캐스팅
@Context HttpServletRequest request;
, 그것은도 ($ ProxyXXX이의 HTTPRequest 캐스트 할 수없는) 작동하지 않았다.
인터넷에서 정보를 검색했지만 이에 관련된 내용을 찾을 수 없습니다. 어떤 생각? :)
고마워요!
정말 고마워요. 어쨌든, 나는 다른 접근법을 사용하여 그것을 해결했습니다. HttpServletRequestWrapper가 필터에있었습니다. 또한 래퍼에 의해 수신 된 원래 요청의보기가 존재했습니다. 따라서, 디버거가 전에 시계를 업데이트하기 위해 시체를 읽고있었습니다. 마지막으로 : HttpServletRequestWrapper는 getInputStream() 메소드를 POST 본문의 캐시 된 복사본으로 오버로드하므로이 InputStream을 자세히 읽고 POST 본문 자체를 가져올 수 있습니다. :) – davidcm