Verwenden Sie java.time.Instant, um DateTime anstelle von OffsetDateTime darzustellen
Posted: 23 Jan 2025, 05:22
Ich verwende das openApi-Maven-Plugin, um Java-Anfragen/Antworten für eine REST-API zu generieren.
Die Anfrage hat eine DateTime-Eigenschaft, wenn ich den Generator I ausführe Rufen Sie die DateTime-Eigenschaft des Attributs ab, das als java.time.OffsetDateTime dargestellt wird. Das Problem besteht darin, dass ich die Eigenschaft als java.time.Instant darstellen muss.
Dies ist die openApi-Spezifikation für die Anfrage:
Die generierte Java-Anfrage:
Das Maven-Plugin-Setup:
Ich habe die typeMappings und importMappings bereits wie folgt ausprobiert, aber es hatte keine Auswirkungen auf den generierten Code:
Die Anfrage hat eine DateTime-Eigenschaft, wenn ich den Generator I ausführe Rufen Sie die DateTime-Eigenschaft des Attributs ab, das als java.time.OffsetDateTime dargestellt wird. Das Problem besteht darin, dass ich die Eigenschaft als java.time.Instant darstellen muss.
Dies ist die openApi-Spezifikation für die Anfrage:
Code: Select all
"DocumentDto" : {
"type" : "object",
"properties" : {
"uuid" : {
"type" : "string",
"format" : "uuid"
},
"creationDate" : {
"type" : "string",
"format" : "date-time"
}
}
}
Code: Select all
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2019-05-21T13:07:21.639+02:00[Europe/Zurich]")
public class DocumentDto {
public static final String SERIALIZED_NAME_UUID = "uuid";
@SerializedName(SERIALIZED_NAME_UUID)
private UUID uuid;
public static final String SERIALIZED_NAME_TEST = "creationDate";
@SerializedName(SERIALIZED_NAME_TEST)
private OffsetDateTime creationDate;
}
Code: Select all
org.openapitools
openapi-generator-maven-plugin
3.3.4
test-service
validate
generate
${project.build.directory}/open-api/swagger.json
java
false
false
com.test
test-service
test.model
test.api
src/gen/java/main
java8
true
Code: Select all
DateTime=Instant
Instant=java.time.Instant