完整的异常信息如下:
12:00:50.310 [http-nio-8080-exec-5] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
com.fasterxml.jackson.core.JsonParseException: Unexpected character (' ' (code 160)): was expecting double-quote to start field name
at [Source: (String)"{
"action": "dom",
"dom": "P1D",
"pageSize": 100,
"page": 0
}"; line: 2, column: 2]
上面的错误提示为输入的 JSON 数据不正确,没有办法处理。
问题和解决
这个问题困惑了我们很久。
原因后来发现在输入的 JSON 格式,不知道什么原因使用了双引号。
我们使用的是 POSTMAN 发送的数据。
后来,我们修改了数据使用的格式为 JSON 格式。
然后再将数据发送到后台就没有这个问题了。
这个问题的原因我们认为是 HTTP 请求的格式定义导致了后台的 Spring 处理逻辑没有办法处理输入的字符串,在进行 JSON 格式数据转换的时候出错了。