使用构建器方法自动生成 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 了解相关讨论。