簡體   English   中英

如何跳過某些帖子請求的傑克遜“解包根值”?

[英]How to skip jackson "unwrap-root-value" for certain post request?

我正在使用spring.jackson.deserialization.unwrap-root-value=true來解開我的所有請求。我嘗試使用 spring 執行器來更改日志級別,但收到“JSON 解析錯誤:根名稱‘configuredLevel’不匹配”例外 。

對於這個 jackson 期待根名稱,但它是一個 spring 端點。

我怎樣才能跳過 jackson unwrap 單獨針對這個請求或我們可以做到的任何其他請求?

URI:http://localhost:8080/test/services/v1/loggers/com.rathna

這是我對執行器端點的回應。

{
    "timestamp": 1548406670397,
    "status": 400,
    "error": "Bad Request",
    "exception": "org.springframework.http.converter.HttpMessageNotReadableException",
    "message": "JSON parse error: Root name 'configuredLevel' does not match expected ('Map') for type [map type; class java.util.Map, [simple type, class java.lang.String] -> [simple type, class java.lang.String]]; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Root name 'configuredLevel' does not match expected ('Map') for type [map type; class java.util.Map, [simple type, class java.lang.String] -> [simple type, class java.lang.String]]\n at [Source: java.io.PushbackInputStream@8b6500; line: 2, column: 2]",
    "path": "test/services/v1/loggers/com.rathna"
}

需要處理所有類型的請求。

您可以將其用作請求正文{"Map": {"configuredLevel": "INFO"}} ,這將起作用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM