将PostDateTime作为一个Post Body参数从一个微服务传递到另一个微服务

时间:2019-03-25 13:34:55

标签: spring-boot java-8

我有一个基于Spring引导和Java8构建的应用程序。我正在尝试将LocalDateTime对象从一种微服务传递给另一种微服务。尝试这样做时,出现以下错误。

"JSON parse error: Unexpected token (START_OBJECT), expected VALUE_STRING: Expected array or string.; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected VALUE_STRING: Expected array or string.\n at [Source: java.io.PushbackInputStream@2930ef8b; line: 8, column: 16] (through reference chain:

我已将以下条目添加到我的应用程序中。

spring:
 jackson:
    serialization:
      write-dates-as-timestamps: false

以及build.gradle中的以下条目。

compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'

有人可以帮我解决这里的问题吗?

POJO看起来像这样。

@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
    private LocalDateTime testDateTime;

JSON看起来像这样。

{ "date_field": "2019-03-27T05:00:00.000Z", }

1 个答案:

答案 0 :(得分:0)

似乎您的配置有误。 JSON字符串中的名称为“ date_field”,而POJO的属性为“ testDateTime”。您应该让他们由杰克逊兑换。添加注释以指示字段名称为“ date_field”(使用@JsonProperty),或更改变量名称。