如何使用RestController在Spring Restful Web服务中记录传入的JSON请求



我想记录所有将以json格式的传入请求。将这些请求记录到logger文件。

@RestController
public class restClassName{
@RequestMapping(value={"/uri"})
public ObjectResponse functionRestName(@RequestBody ObjectRequest or){
  String jsonInString = mapper.writeValueAsString(staff);//Redundant stuff as the request json is already read by MappingJackson2HttpMessageConverter
  logger.info("request::"+jsonInString)
  return instance;
}
}

,但这似乎是一种可获得的方法。从MappingJackson2HttpMessageConverter中,已经读取了HttpRequest,可以将JSON请求转换为Java对象。我只需要登录JSON。/div>

实现它的最简单方法是使用CommonsRequestLoggingFilter如下伪代码所述。

@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
    CommonsRequestLoggingFilter crlf = new CommonsRequestLoggingFilter();
    crlf.setIncludeClientInfo(true);
    crlf.setIncludeQueryString(true);
    crlf.setIncludePayload(true);
    return crlf;
}

然后在应用程序中。

logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

这将记录所有请求,请按照CommonsRequestLoggingFilter API文档的链接进行更多自定义。

相关内容

  • 没有找到相关文章

最新更新