小编Rem*_*ndt的帖子

无法正确读取拦截器中的请求主体 - Spring BOOT 2.0.4

我在拦截器中读取请求正文时遇到问题。两者getReader()都会getInputStream()造成问题。我的拦截器:

public class MyInterceptor extends HandlerInterceptorAdapter {
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception exception)
        throws Exception {
    // TODO Auto-generated method stub

}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
        throws Exception {
    // TODO Auto-generated method stub
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

    String requestBody = httpRequest.getReader().lines().collect(Collectors.joining(System.lineSeparator()));

//or
// String requestBody = new BufferedReader(new InputStreamReader(httpRequest.getInputStream()))
//                .lines().collect(Collectors.joining("\n"));
//some logic...
    return …
Run Code Online (Sandbox Code Playgroud)

java rest spring interceptor spring-boot

1
推荐指数
1
解决办法
3425
查看次数

标签 统计

interceptor ×1

java ×1

rest ×1

spring ×1

spring-boot ×1