如何跳过某些帖子请求的杰克逊“解包根值”?

时间:2019-01-25 09:16:45

标签: java json spring spring-boot jackson

我正在使用spring.jackson.deserialization.unwrap-root-value=true来解开所有请求。我尝试使用spring执行器来更改日志级别,但收到“ JSON解析错误:根名称'configuredLevel'不匹配”的异常。

对于这个杰克逊来说,它需要的是根名称,但这是一个春天的终点。

我该如何独自跳过杰克逊的包裹,或者我们可以做其他任何事情?

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"
}

需要处理所有类型的请求。

1 个答案:

答案 0 :(得分:0)

您可以将其用作请求正文markets = ['France','Spain','UK','Germany','Italy'] for name in markets: df.loc[df['Profile Name'].str.contains(name, na=False, regex=False), 'Market'] = name ,这将起作用。