春天开机 - 访问原始的JSON数据

问题描述:

我下面的弹簧引导教程这里:春天开机 - 访问原始的JSON数据

Spring boot tutorial for consuming a rest service

教程工作正常,但有什么办法,我可以打印原始JSON之前,它是解组(通过杰克逊JSON处理库)用于记录目的?

执行此操作的最快方法是将日志级别设置为DEBUG以便HTTP输入缓冲区:只需将logging.level.org.apache.coyote.http11.Http11InputBuffer = DEBUG添加到您的src/main/resources/application.properties文件。然后,你应该看到类似以下的说法在你的日志消息:

2017-02-28 17:35:03.554 DEBUG 856 --- [nio-8443-exec-5] o.a.coyote.http11.Http11InputBuffer  : Received [POST /tasks HTTP/1.1 
Host: localhost:8443 
Authorization: Basic **************** 
User-Agent: curl/7.51.0 
Accept: */* 
content-type:application/json 
Content-Length: 17 

{ "foo" : "bar" }] 

还要检查这个SO post,我就提出用生JSON内容包括自制控制器方法摆弄几个选项。

+0

谢谢!但是,如果我也想把它作为一个字符串并打印到控制台? – njk2015

+0

除了我提供的自制解决方案 - 这会迫使您重写每个PUT/POST端点,我认为可以使用网页过滤器完成,但是我从来没有这样做过,因此我无法确定地告诉您。检查此[线程](http://*.com/questions/10457963/spring-rest-service-retrieving-json-from-request),或这[一](http://*.com/questions/8933054/how-to-read-and-copy-the-http-servlet-response-output-stream-content-for-logging) - 尽管如果你刚开始发现Spring Boot,它可能有点压倒性:) –

+0

在深入研究其他帖子之前,我会先尝试建议的解决方案。谢谢! – njk2015