使用实现外部接口的openapi生成器创建模型类

问题描述

我正在使用openapi-generator生成Java类。

我希望模型类实现一个openapi-generator尚未生成的外部接口。

在yaml模型中是否可以定义某些内容,或者可以将其传递给openapi-generator-maven-plugin允许这种行为的属性?

必需行为的示例:

package com.example.model;

/**
 * ExampleModel
 */
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen")
public class ExampleModel implements com.example.CustomInterface {
  @JsonProperty("property1")
  private String property1;

  @JsonProperty("property2")
  private String property2;

解决方法

如果您想以相同的方式修改所有类,则我会选择更改模板。在您的情况下,很可能是此文件:pojo.mustache

只需将其复制到您的src/main/resources/文件夹(也许在名为custom的子文件夹中)并根据需要进行调整即可。

然后,您也需要调整pom.xml

<configuration>

    <!-- The following line is crucial: -->
    <templateDirectory>${project.basedir}/src/main/resources/custom</templateDirectory>

    <!-- Your other config goes here: -->
    <inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
    <generatorName>java</generatorName>
    <configOptions>
        <sourceFolder>src/gen/java/main</sourceFolder>
    </configOptions>
</configuration>

也可以查看此templating documentation,以获取有关该主题的更多信息。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...