openapi-generator
openapi-generator copied to clipboard
[BUG][SPRING] Lombok Builder doesn't preserve default values
Bug Report Checklist
- [x] Have you tested with the latest master to confirm the issue still exists?
- [x] Have you searched for related issues/PRs?
- [x] What's the actual output vs expected output?
Description
Adding Lombok Builder, as explained in this comment is working fine. However, there's a problem with default values. When utilizing Lombok Builder, the default values specified in the model classes aren't retained; instead, they're being set to null.
This problem can be resolved by leveraging Lombok's @Builder.Default annotation, which allows us to specify default values for fields within the builder pattern. More details about this annotation can be found here.
Related issues/PRs
- https://github.com/OpenAPITools/openapi-generator/issues/324
Input
openapi: "3.0.3"
...
components:
schemas:
MyObject:
type: object
properties:
propertyWithDefaultValue:
type: integer
format: int32
default: 20
simpleProperty:
type: integer
format: int32
...
<configuration>
...
<configOptions>
...
<additionalModelTypeAnnotations>@lombok.Builder</additionalModelTypeAnnotations>
...
</configOptions>
...
</configuration>
Current output
@lombok.Builder
public class MyObject {
...
private Integer propertyWithDefaultValue = 20;
private Integer simpleProperty;
...
}
Expected output
@lombok.Builder
public class MyObject {
...
+ @lombok.Builder.Default
private Integer propertyWithDefaultValue = 20;
private Integer simpleProperty;
...
}
Any progress for this issue?