2016-09-20 51 views
1

基本的に私はそれを行うための最も簡単な方法の一つが、ここでContentCachingRequestWrapperHttpServletRequestの本文を複数回読む方法は?

を使用していることは、私はそれを実装する方法であることがわかった私の研究に基づいて、HttpServletRequest複数回の身体を読んでする必要があります。

ContentCachingRequestWrapper requestWrapper = new ContentCachingRequestWrapper((HttpServletRequest) request); 

try{ 
    MultipartRequest multipartRequest = new MultipartRequest(requestWrapper, ImageDirecoty, 1024*1024*5); 
    String test = requestWrapper.getReader().lines().collect(Collectors.joining(System.lineSeparator())); 
    System.out.print(test); 
} catch(IOException e){ 
    System.out.println(e.getMessage()); 
    return; 
} 

参考:クライアントからサーバーに簡単なファイルをアップロードしています。

最初はリクエストボディを読み込みましたが、2番目の行にはString test = requestWrapperという内容があり、コンソールに出力するためにEcpliseコンソールには何も出力されませんでした。何かエラーがあっても、私が間違っていることを誰かに教えてもらえたら本当に感謝しています。

+1

ここhttp://stackoverflow.com/questions/28158826/how-to-read-a-servletinputstream-more-than-once-when-you-dont-have-controlソリューションをチェック-of-t/28159475#28159475 – Palamino

答えて

0

実際にそれを行う簡単な方法は、何らかのPojoクラスを使用して(応答を変換して)必要なものに保存することです。ここ はまた、あなたのhttpがはるかに簡単に呼び出しを行うために、ライブラリのレトロフィット2.0などを使用することができます

http://www.jsonschema2pojo.org/

をPOJOに変換するためのリンクです。

http://square.github.io/retrofit/

+0

私はPojoの使い方を本当に知らないので、もっと光を入れることができますか? –

関連する問題