Spring Cloud GCP错误配置了Spring Boot 2 Rest Controller LocalDateTime转换

时间:2019-03-19 10:24:58

标签: java spring spring-boot spring-cloud-gcp

当前,我有一个使用Spring Boot 2.1.1的可运行应用程序。当我转到http://localhost:8080/bananas/1时,结果是:

{
  "id": 1,
  "created": "2019-03-19T09:18:29",
  "colour": "yellow",
}

但是,当我将Spring Cloud GCP PubSub添加到pom.xml中时(如文档所示):

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-gcp-dependencies</artifactId>
                <version>${spring-cloud-gcp.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        ...

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-gcp-starter-pubsub</artifactId>
            <version>${spring-cloud-gcp.version}</version>
        </dependency>
    </dependencies>

此后,RestController端点的输出将更改为:

{
  "id": 1,
  "created": {
    "dayOfMonth": 12,
    "dayOfWeek": "TUESDAY",
    "dayOfYear": 71,
    "monthValue": 3,
    "year": 2019,
    "month": "MARCH",
    "hour": 19,
    "minute": 13,
    "second": 22,
    "nano": 0,
    "chronology": {
      "calendarType": "iso8601",
      "id": "ISO"
    }
  },
  "colour": "yellow"
}

看来,添加到Spring Boot 2的Java 8日期/时间的默认转换器没有任何作用。 (请参见relevant question)。

想必是从Spring Cloud GCP BOM或PubSub依赖项中提取了一个或多个传递依赖项来破坏此行为吗?有办法解决这个问题吗?

注意:我尝试从链接的问题中手动添加和配置JSR310依赖项,但这无济于事。

0 个答案:

没有答案