Skip to content
GitLab
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
  • Merge requests
  • !4597

[Core] use alias models in request.body when GenerateAliasAsModel=true

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Administrator requested to merge github/fork/bodograumann/body-parameter-as-alias-spacether into master Nov 25, 2019
  • Overview 0
  • Commits 16
  • Pipelines 0
  • Changes 23

Created by: spacether

When we generate alias models using GenerateAliasAsModel the operation.body incorrectly describes an alias model using the primitive datatype, not the alias model's class name.

For this spec:

paths:
  /fake/outer/number:
    post:
      tags:
        - fake
      description: Test serialization of outer number types
      operationId: fakeOuterNumberSerialize
      parameters:
        - name: body
          in: body
          description: Input number as post body
          schema:
            $ref: '#/definitions/OuterNumber'
      responses:
        '200':
          description: Output number
          schema:
            $ref: '#/definitions/OuterNumber'
definitions:
  OuterNumber:
    type: number

We produce a client with GenerateAliasAsModel=true and our master branch would describe the operation.body as type number When it should be described as type OuterNumber because we are producing a model OuterNumber.

Test Verififcation

This PR fixes that issue, describing operation.body as type OuterNumber. A test showing that an alias model's baseType, dataType, and isModel properties are set correctly for an alias model:

  • https://github.com/bodograumann/openapi-generator/blob/body-parameter-as-alias-spacether/modules/openapi-generator/src/test/java/org/openapitools/codegen/java/JavaClientCodegenTest.java#L87

Open Issues:

  • https://github.com/OpenAPITools/openapi-generator/issues/362

    • This PR fixes request body parameters which point to models
  • Read the contribution guidelines.

  • If contributing template-only or documentation-only changes which will change sample output, build the project before.

  • Run the shell script(s) under ./bin/ (or Windows batch scripts under.\bin\windows) to update Petstore samples related to your fix. This is important, as CI jobs will verify all generator outputs of your HEAD commit, and these must match the expectations made by your contribution. You only need to run ./bin/{LANG}-petstore.sh, ./bin/openapi3/{LANG}-petstore.sh if updating the code or mustache templates for a language ({LANG}) (e.g. php, ruby, python, etc).

  • File the PR against the correct branch: master, 4.3.x, 5.0.x. Default: master.

  • Copy the technical committee to review the pull request if your PR is targeting a particular programming language.

Core Team: @wing328 (2015/07) @jimschubert (2016/05) @cbornet (2016/05) @ackintosh (2018/02) @jmini (2018/04) @etherealjoy (2019/06)

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/bodograumann/body-parameter-as-alias-spacether