Я использую плагин openApi Maven для генерации запросов/ответов Java для REST API.
Запрос имеет свойство DateTime. Когда я запускаю генератор, я получаю свойство DateTime атрибута, представленного как java.time.OffsetDateTime. Проблема в том, что мне нужно представить свойство как java.time.Instant.
Это спецификация openApi для запроса:
"DocumentDto" : {
"type" : "object",
"properties" : {
"uuid" : {
"type" : "string",
"format" : "uuid"
},
"creationDate" : {
"type" : "string",
"format" : "date-time"
}
}
}
Сгенерированный Java-запрос:
@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;
}
Настройка плагина Maven:
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
Я уже пробовал typeMappings и importMappings, но это не повлияло на сгенерированный код:
DateTime=Instant
Instant=java.time.Instant