使用构建器方法自动生成 pojo
autogenerate pojos with builder methods
目前我正在使用 swagger codegen 工具将 RAML 定义转换为 swagger 格式并从该格式生成 java 客户端。这为我提供了 RAML 中提到的所有数据类型的 POJO。每次更改 RAML 类型中的某些数据字段时,我都必须重新生成 POJO,并且必须重写服务层中的所有代码实现。重复做同样的事情变得很麻烦
我在想,如果只有这些 POJO 是使用构建器模式生成的,比如,
mydataobject.builder.addfield1(10).addfield2(2);
它将极大地帮助我保持服务层中的代码不变。
有没有办法自动生成其中包含构建器方法的 pojo?
您可以使用 Lombok。
@lombok.Builder// Builder companion class, and static method
@lombok.Value // Getters, setters, and contructors
class Pojo {
String value;
Number number;
}
给你这个代码:
final Pojo pojo = Pojo.builder()
.value("foo")
.number(100)
.build();
您必须继续生成的代码才能添加此注释,请参阅 Add lombok (or any) annotation to swagger generated class 了解相关讨论。
目前我正在使用 swagger codegen 工具将 RAML 定义转换为 swagger 格式并从该格式生成 java 客户端。这为我提供了 RAML 中提到的所有数据类型的 POJO。每次更改 RAML 类型中的某些数据字段时,我都必须重新生成 POJO,并且必须重写服务层中的所有代码实现。重复做同样的事情变得很麻烦
我在想,如果只有这些 POJO 是使用构建器模式生成的,比如,
mydataobject.builder.addfield1(10).addfield2(2); 它将极大地帮助我保持服务层中的代码不变。
有没有办法自动生成其中包含构建器方法的 pojo?
您可以使用 Lombok。
@lombok.Builder// Builder companion class, and static method
@lombok.Value // Getters, setters, and contructors
class Pojo {
String value;
Number number;
}
给你这个代码:
final Pojo pojo = Pojo.builder()
.value("foo")
.number(100)
.build();
您必须继续生成的代码才能添加此注释,请参阅 Add lombok (or any) annotation to swagger generated class 了解相关讨论。