OpenAPITools / OpenAPITools/openapi-generator

[BUG][JAVA] library microprofile does not add @Valid annotation to nested classes

Open
#19,082 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.