Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 需要org.threeten.bp.LocalDate以“格式”返回日期;YYYY-MM-DD“;_Java_Date_Spring Boot_Yaml_Swagger 2.0 - Fatal编程技术网

Java 需要org.threeten.bp.LocalDate以“格式”返回日期;YYYY-MM-DD“;

Java 需要org.threeten.bp.LocalDate以“格式”返回日期;YYYY-MM-DD“;,java,date,spring-boot,yaml,swagger-2.0,Java,Date,Spring Boot,Yaml,Swagger 2.0,我正在使用yaml文件生成用于返回JSON响应的类 亚马尔 我正在使用swagger-codegen-maven-plugin生成以下类: <plugin> <groupId>io.swagger</groupId> <artifactId>swagger-codegen-maven-plugin</artifactId> <version>2.3.1</version> <

我正在使用
yaml
文件生成用于返回
JSON
响应的类

亚马尔

我正在使用
swagger-codegen-maven-plugin
生成以下类:

<plugin>
    <groupId>io.swagger</groupId>
    <artifactId>swagger-codegen-maven-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <id>api-call</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>src/main/resources/search.yaml</inputSpec>
                <language>java</language>
                <dateLibrary>java8-localdatetime</dateLibrary>
                <output>${project.basedir}</output>
                <apiPackage>com.api</apiPackage>
                <modelPackage>com.model</modelPackage>
                <invokerPackage>com.client</invokerPackage>
            </configuration>
        </execution>
    </executions>
</plugin>
结果:

"nextPaymentDueDate": { <-- note lowercase
            "year": 2018,
            "month": "JULY",
            "era": "CE",
            "dayOfMonth": 1,
            "dayOfWeek": "SUNDAY",
            "dayOfYear": 182,
            "leapYear": false,
            "monthValue": 7,
            "chronology": {
                "id": "ISO",
                "calendarType": "iso8601"
            }
        },
我还添加了
application.properties

spring.jackson.serialization.write-dates-as-timestamps=false

但是这没有任何作用。

如果您使用的是Java 8,为什么要使用Three Ten?ThreeTen是Java6和Java7使用的后端口
Java8LocalDateTime
支持Java8TimeAPI,而不是ThreeTen。要支持Three Ten,您需要编写并注册自己的
TypeAdapter
对象。@Andreas我希望我能控制使用什么:)我似乎无法用swager codegen插件覆盖Three Ten:(日期/时间类没有自己的格式,它们只是指定锚定点的时间量的容器。相反,您需要使用DateTimeFormatter。在本例中,
toString
方法@MadProgrammer,具体取决于口味。
DateTimeFormatter.ISO_LOCAL\u Date
也应该可以很好地工作。
"nextPaymentDueDate": { <-- note lowercase
            "year": 2018,
            "month": "JULY",
            "era": "CE",
            "dayOfMonth": 1,
            "dayOfWeek": "SUNDAY",
            "dayOfYear": 182,
            "leapYear": false,
            "monthValue": 7,
            "chronology": {
                "id": "ISO",
                "calendarType": "iso8601"
            }
        },
"nextPaymentDueDate": {
            "2018-07-01"
        },
spring.jackson.serialization.write-dates-as-timestamps=false