bra*_*ren 5 java gradle-plugin openapi swagger-codegen openapi-generator
我正在使用 OpenAPI Generator 创建客户端,但是当我尝试发出 POST 请求时,LocalDateTime 会被序列化为整数数组,看起来像
{
"startDate": [ 2019, 11, 13, 0, 0 ],
"endDate": [ 2020, 12, 31, 0, 0 ]
}
Run Code Online (Sandbox Code Playgroud)
我正在等待这个结果,像 ISO 字符串一样解析
{
"startDate": "2019-11-13T00:00",
"endDate": "2020-12-31T00:00"
}
Run Code Online (Sandbox Code Playgroud)
我的gradle配置是这样的:
dependencies {
compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.10.3'
classpath 'org.openapitools:openapi-generator-gradle-plugin:4.2.3'
}
task generateClientDS(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
inputSpec = "$rootDir/specifications/client-ds.yaml".toString()
outputDir = "$rootDir".toString()
generatorName = 'java'
library = 'resttemplate'
apiPackage = 'com.example.gen.clients.clientds.api'
modelPackage = 'com.example.gen.clients.clientds.dto'
modelNameSuffix = 'DTO'
configOptions = [
hideGenerationTimestamp: 'true',
dateLibrary: 'java8'
]
typeMappings = [
OffsetDateTime: 'java.time.LocalDateTime'
]
}
Run Code Online (Sandbox Code Playgroud)
应用程序属性
spring.jackson.serialization.write-dates-as-timestamps=false
Run Code Online (Sandbox Code Playgroud)
我什至按原样添加了它,但它不起作用,知道出了什么问题吗?
小智 1
我犯了同样的错误。经过几个小时的寻找,在这里找到了答案。问题出在我的 API 文档中。尝试改变它。
startDate:
type: string
format: 'yyyy-mm-dd'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3299 次 |
| 最近记录: |