Skip to content
GitLab
    • Explore Projects Groups Snippets
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • O openapi-generator
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,476
    • Issues 3,476
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 402
    • Merge requests 402
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • OpenAPI Tools
  • openapi-generator
  • Issues
  • #4268
Closed
Open
Issue created 5 years ago by Administrator@rootContributor
  • New related issue

  • Report abuse to administrator

  • New related issue

  • Report abuse to administrator

[BUG][SPRING] Spring's validation behavior is different depending on how annotations are used

Open

[BUG][SPRING] Spring's validation behavior is different depending on how annotations are used

Created by: lehphyro

Description

Spring's behavior is different depending on whether @Validated is present on the class-level:

  • If it's present, ConstraintViolationException is thrown if there are validation errors.
  • If it's not present, MethodArgumentNotValidException is thrown if there are validation errors.

This affects the way validation errors are converted to response to clients because the conversion implementation needs to be completely different.

openapi-generator version

openapi-generator-maven-plugin:4.1.2

Command line used for generation

Plugin configuration used:

                <configuration>
                    <inputSpec>${project.basedir}/../../api/service-api/src/main/resources/openapi.yaml</inputSpec>
                    <output>${project.build.directory}/generated-sources/api</output>
                    <generateSupportingFiles>true</generateSupportingFiles>
                    <generatorName>spring</generatorName>
                    <strictSpec>true</strictSpec>
                    <configOptions>
                        <apiPackage>mypackage</apiPackage>
                        <modelPackage>mypackage</modelPackage>                        
                        <library>spring-mvc</library>
                        <dateLibrary>legacy</dateLibrary>
                        <interfaceOnly>true</interfaceOnly>
                        <skipDefaultInterface>true</skipDefaultInterface>
                        <useBeanValidation>true</useBeanValidation>
                        <useTags>true</useTags>
                        <java8>true</java8>
                        <useOptional>false</useOptional>
                    </configOptions>
                </configuration>
Steps to reproduce

Just enable or disable useBeanValidation to see that @Validated gets added to the Api interface.

Suggest a fix

Add a flag to indicate whether class-level @Validated should be added and make it true by default to maintain backwards compatibility.

  1. Oh no!

    You are trying to upload something other than an image. Please upload a .png, .jpg, .jpeg, .gif, .bmp, .tiff or .ico.

    Incoming!

    Drop your designs to start your upload.
Tasks
0

No tasks are currently assigned. Use tasks to break down this issue into smaller parts.

Linked items
0

Link issues together to show that they're related. Learn more.

Activity


Please register or sign in to reply
0 Assignees
None
Assign to
Labels
1
Issue: Bug
1
Issue: Bug
    Assign labels
  • Manage project labels

Milestone
No milestone
None
Due date
None
None
None
Time tracking
No estimate or time spent
Confidentiality
Not confidential
Not confidential

You are going to turn on confidentiality. Only project members with at least the Reporter role, the author, and assignees can view or be notified about this issue.

Lock issue
Unlocked
1
1 participant
Administrator
Reference: OpenAPITools/openapi-generator#4268

Menu

Explore Projects Groups Snippets