我有一个Spring应用程序,可以与移动设备交换JSON。 Spring控制器看起来像这样:
@RequestMapping(value = "/register", method = RequestMethod.POST, headers = {"Content-type=application/json"})
public String register(@RequestBody @Valid UserRegistrationRequest urf, BindingResult bindingResult) {
return toJson(someResponse);
}
我想知道,记录http请求正文和响应正文的最佳方法是什么? 目前,我有自定义json消息转换器,并在从json创建bean之前记录请求体。我使用CustomTraceInterceptor来记录响应主体。不幸的是,CustomTraceInterceptor不允许记录请求正文。
任何有关更好解决方案的建议都将受到高度赞赏!
提前谢谢。
答案 0 :(得分:3)
扩展HandlerInterceptorAdapter,并覆盖postHandle
。其中有request and response injected。
您也可以使用具有更友好api的new HttpServletResponseWrapper((HttpServletResponse) response)
,而spring可能还有更好的包装......