目前,我正在使用swagger codegen工具将RAML定义转换为swagger格式,并从该格式生成Java客户端。这给了我RAML中提到的所有数据类型的POJO。每次更改RAML类型中的某些数据字段时,都必须重新生成POJO,并且必须重写服务层中的所有代码实现。重复做同样的事情变得非常麻烦。
我在考虑是否只有这些POJO是使用生成器模式生成的,例如
mydataobject.builder.addfield1(10).addfield2(2); 这将极大地帮助我保持服务层中的代码不变。
是否可以自动生成其中包含构建器方法的pojo?
答案 0 :(得分:0)
您可以使用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。