Jackson InvalidFormatException:无法从 String 中反序列化类型为“java.util.UUID”的值
Jackson InvalidFormatException: Cannot deserialize value of type `java.util.UUID` from String
我正在使用 Spring 引导和 Rest 控制器。我有一个 @PostMapping
和一个 @RequestBody
对象,其 id 类型为 UUID
。当我尝试测试来自 Postman 的 post 请求时,出现以下错误。
JSON 解析错误:
Cannot deserialize value of type java.util.UUID
from String "4be4bd08cfdf407484f6a04131790949": UUID has to be represented by standard 36-char representation; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type java.util.UUID
from String "4be4bd08cfdf407484f6a04131790949": UUID has to be represented by standard 36-char representation
我在一些 post 中读到,其中谈到了 invalidFormatException 但具有不同的数据类型,需要编写某种适配器。我该如何为 UUID 解决这个问题?预先感谢您的意见。
@PostMapping(value = "/save_order")
@ResponseStatus(HttpStatus.CREATED)
public void postOrder(@RequestBody Order order) {
...
public class Order {
@Id
private UUID dstId;
....
没关系,我四处搜索并能够解决问题。下面是解决方法。
所以基本上解决方案是从我用于请求正文的 JSON 中删除 ID。我之前使用的 Json 将 dstId 作为第一个键,删除它解决了我的错误。
{
"dstId":"4be4bd08cfdf407484f6a04131790949",
...
}
我还意识到根本原因是我在上面使用的数据不是有效的 UUID。例如,在它的位置使用有效的 UUID
"dstId": "110841e3-e6fb-4191-8fd8-5674a5107c33
帮助我弄清楚Spring Boot JSON parse error: Cannot deserialize error
的post
我正在使用 Spring 引导和 Rest 控制器。我有一个 @PostMapping
和一个 @RequestBody
对象,其 id 类型为 UUID
。当我尝试测试来自 Postman 的 post 请求时,出现以下错误。
JSON 解析错误:
Cannot deserialize value of type
java.util.UUID
from String "4be4bd08cfdf407484f6a04131790949": UUID has to be represented by standard 36-char representation; nested exception is com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of typejava.util.UUID
from String "4be4bd08cfdf407484f6a04131790949": UUID has to be represented by standard 36-char representation
我在一些 post 中读到,其中谈到了 invalidFormatException 但具有不同的数据类型,需要编写某种适配器。我该如何为 UUID 解决这个问题?预先感谢您的意见。
@PostMapping(value = "/save_order")
@ResponseStatus(HttpStatus.CREATED)
public void postOrder(@RequestBody Order order) {
...
public class Order {
@Id
private UUID dstId;
....
没关系,我四处搜索并能够解决问题。下面是解决方法。
所以基本上解决方案是从我用于请求正文的 JSON 中删除 ID。我之前使用的 Json 将 dstId 作为第一个键,删除它解决了我的错误。
{
"dstId":"4be4bd08cfdf407484f6a04131790949",
...
}
我还意识到根本原因是我在上面使用的数据不是有效的 UUID。例如,在它的位置使用有效的 UUID "dstId": "110841e3-e6fb-4191-8fd8-5674a5107c33
帮助我弄清楚Spring Boot JSON parse error: Cannot deserialize error
的post