如何多次读取HttpServletRequest的主体?

时间:2016-09-20 12:04:30

标签: java servlets

基本上我需要多次阅读HttpServletRequest的正文,根据我的研究,我发现最简单的方法之一是使用ContentCachingRequestWrapper

以下是我实施它的方式:

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;
}

仅供参考:我正在将一个简单文件从我的客户端上传到服务器。

现在起初它很好地读取了请求体,但是在第二行我有String test = requestWrapper来读取它的内容并将其输出到控制台我没有得到我的Ecplise控制台输出任何东西而我也不会有任何错误,如果有人告诉我我做错了什么,我真的很感激。

1 个答案:

答案 0 :(得分:0)

实际上,最简单的方法是使用(转换响应),某种Pojo类,然后将其保存到你想要的任何地方。 这是一个将其转换为pojo的链接

http://www.jsonschema2pojo.org/

你也可以使用像Retrofit 2.0这样的库来使你的http调用更容易。

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