OpenAPITools / OpenAPITools/openapi-generator
[BUG][JAVA] library microprofile does not add @Valid annotation to nested classes
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 26.8k
- Forks
- 7.7k
- PR merge metrics
- PR metrics pending
Description
Description
Java generator with library microprofile does not add @Valid annotation to nested classes
openapi-generator version
7.7.0
public class ResponseBankFixedIncomesBalancesData {
//...
public static final String JSON_PROPERTY_UPDATED_UNIT_PRICE = "updatedUnitPrice";
private ResponseBankFixedIncomesBalancesDataUpdatedUnitPrice updatedUnitPrice;
public static final String JSON_PROPERTY_GROSS_AMOUNT = "grossAmount";
private ResponseBankFixedIncomesBalancesDataGrossAmount grossAmount;
//...
}
OpenAPI declaration file content or url
Complete file
issues.zip
Generation Details
npx @openapitools/openapi-generator-cli generate -i issues.yml -g java -o ./tmp/test/ --additional-properties=useJakartaEe=true,serializationLibrary=jackson,library=microprofile,useBeanValidation=true
Steps to reproduce
Install operaapi-generator-cli and run the command above
Sugestion to fix
- the resteasy llibrary adds the @Valid annotation but also adds this to some objects that has no validation like URI(java.net.URI) class
- Add an additional property to enable this
- Add an addtional property to specify some classes to not add the @Valid annotation
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the issue with the provided issues.yml from issues.zip and the documented openapi-generator-cli command, using the Java microprofile library and useBeanValidation=true. Compare generated nested model fields with the resteasy library behavior; done means the microprofile output handles @Valid for nested classes as intended without introducing the reported unwanted annotations.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend-api-design, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100