Skip to content

JavaSpring codegen ignores per-field required setting #1310

@radarsh

Description

@radarsh

Given the below OAS 3 spec

paths:
  /survey:
    post:
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                name:
                  type: string
                age: 
                  type: integer
              required:
                - name

The expectation is to require a non-null request body but only name to be mandatory. The age property should become optional. However, when code is generated it produces:

    @RequestMapping(value = "/survey",
        consumes = { "application/x-www-form-urlencoded" },
        method = RequestMethod.POST)
    default ResponseEntity<Void> operation(
        @Parameter(in = ParameterIn.DEFAULT, description = "",schema=@Schema()) @RequestParam(value="name", required=true)  String name, 
        @Parameter(in = ParameterIn.DEFAULT, description = "",schema=@Schema()) @RequestParam(value="age", required=true)  Integer age) {

Observe that age parameter in the generated method signature has required=true when it's clearly not required in the spec.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions