首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用openapi-generator-maven-plugin仅更改一个字段的类型?

如何使用openapi-generator-maven-plugin仅更改一个字段的类型?
EN

Stack Overflow用户
提问于 2021-11-08 06:22:16
回答 1查看 139关注 0票数 2

我有一个模式来描述我从REST服务中获得的数据。我不能改变这个计划。架构中有两个具有不同格式的date-time类型字段:

代码语言:javascript
复制
"date1": {
    "type": "string",
    "description": "Date 1",
    "format": "date-time"
},
"date2": {
    "type": "string",
    "description": "Date 2",
    "format": "date-time"
}
代码语言:javascript
复制
{
    "date1": "2021-07-29T03:00:00",
    "date2": "2021-04-22T08:25:30.264Z"
}

默认情况下,open api-generator-maven-plugin为date-time类型字段创建OffsetDateTime类型:

代码语言:javascript
复制
    @JsonProperty("date1")
    private OffsetDateTime date1;

    @JsonProperty("date2")
    private OffsetDateTime date2;

使用typeMappingsimportMappings,我可以将OffsetDateTime替换为LocalDateTime:

代码语言:javascript
复制
<typeMappings>
    <typeMapping>OffsetDateTime=LocalDateTime</typeMapping>
</typeMappings>
<importMappings>
    <importMapping>java.time.OffsetDateTime=java.time.LocalDateTime</importMapping>
</importMappings>

但是这种替换将发生在所有字段中:

代码语言:javascript
复制
    @JsonProperty("date1")
    private LocalDateTime date1;

    @JsonProperty("date2")
    private LocalDateTime date2;

有没有办法将OffsetDateTime替换为仅适用于date1的LocalDateTime?

这就是我希望在生成的类中看到的:

代码语言:javascript
复制
    @JsonProperty("date1")
    private LocalDateTime date1;

    @JsonProperty("date2")
    private OffsetDateTime date2;

我知道我可以修复生成的类并用LocalDateTime替换OffsetDateTime,但我不想在生成之后每次都更改生成的类。

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-10 07:28:27

这是我最终得到的解决方案。我使用maven-replacer-plugin将OffsetDateTime替换为LocalDateTime:

代码语言:javascript
复制
<replacements>
    <replacement>
        <token>import java.time.OffsetDateTime;</token>
        <value>import java.time.OffsetDateTime;\nimport java.time.LocalDateTime;</value>
    </replacement>
    <replacement>
        <token>OffsetDateTime date1</token>
        <value>LocalDateTime date1</value>
    </replacement>
</replacements>

不是很优雅,但它是有效的)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69879321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档