Created by: welshm
Modified pojo.mustache to have Optional be used on POJOs
- Added
spring-boot-oas3-nullable.yamlto generate nullable examples to validate against - Added
spring-boot-oas3-nullable-disabled.yamlto generate optional behaviour when nullable is disabled - https://github.com/OpenAPITools/openapi-generator/issues/11383
NOTE: This is a breaking change for anyone with useOptional enabled.
PR checklist
-
Read the contribution guidelines. -
Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. -
Run the following to build the project and update samples: Commit all changed files. This is important, as CI jobs will verify all generator outputs of your HEAD commit as it would merge with master. These must match the expectations made by your contribution. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example./mvnw clean package ./bin/generate-samples.sh ./bin/utils/export_docs_generators.sh./bin/generate-samples.sh bin/configs/java*. -
File the PR against the correct branch: master(5.3.0),6.0.x -
If your PR is targeting a particular programming language, @mention the technical committee members, so they are more likely to review the pull request.
Spec that shows the use case
ApiDefault:
type: object
required:
- requiredMessage
- requiredNullableMessage
properties:
message:
type: string
description: A message
nullableMessage:
type: string
description: A nullable message
nullable: true
requiredMessage:
type: string
description: A required message
requiredNullableMessage:
type: string
description: A required nullable message
nullable: true
Output
useOptional: false
openApiNullable: false
private String message;
private String nullableMessage
private String requiredMessage;
private String requiredNullableMessage;
useOptional: true
openApiNullable: false
private Optional<String> message;
private Optional<String> nullableMessage
private String requiredMessage;
private String requiredNullableMessage;
useOptional: false
openApiNullable: true
private String message;
private JsonNullable<String> nullableMessage
private String requiredMessage;
private JsonNullable<String> requiredNullableMessage;
useOptional: true
openApiNullable: true
private Optional<String> message;
private JsonNullable<String> nullableMessage
private String requiredMessage;
private JsonNullable<String> requiredNullableMessage;