swagger-codegen icon indicating copy to clipboard operation
swagger-codegen copied to clipboard

Add x-root-ancestor vendor extension boolean property to use inheritance w/o discriminator (see #6127).

Open SergeyLyakhov opened this issue 7 years ago • 6 comments

PR checklist

[+] Read the contribution guidelines. [+] Ran the shell script under ./bin/ to update Petstore sample so that CIs can verify the change. (For instance, only need to run ./bin/{LANG}-petstore.sh and ./bin/security/{LANG}-petstore.sh if updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in .\bin\windows\. [+] Filed the PR against the correct branch: 3.0.0 branch for changes related to OpenAPI spec 3.0. Default: master. [+] Copied the technical committee to review the pull request if your PR is targeting a particular programming language. @bbdouglas @JFCote @sreeshas @jfiala @lukoyanov @cbornet @jeff9finger cc: @wing328

Description of the PR

Add mechanism to support inheritance w/o discriminator. Vendor extension property x-root-ancestor: [true|false] should be used to annotate the root model of hierarchy:

   Root:
    x-root-ancestor: true
    allOf:
      - type: object
        properties:
          id:
            type: string

  Intermediate:
    allOf:
      - $ref: '#/definitions/Root'
      - type: object
        properties:
          name:
            type: string

  Leaf:
    allOf:
      - $ref: '#/definitions/Intermediate'
      - type: object
        properties:
          description:
            type: string

This PR is related to #7593, and reimplemented according to requirements explained in comments there.

SergeyLyakhov avatar Mar 26 '18 11:03 SergeyLyakhov

Any chance of getting this merged? I'm interested in #7060

pnewhook avatar Nov 30 '18 20:11 pnewhook

Is there any news about the release of this feature? Thank you

Irene93 avatar Mar 19 '19 16:03 Irene93

This would really help with my Usecase, otherwise I can't use inheritance :-(

TheOneValen avatar Jan 14 '20 10:01 TheOneValen

Any chance for it? Needed for #7060

rchalaszczyk avatar Feb 10 '20 12:02 rchalaszczyk

Is there any news about this PR?

vlauciani avatar Sep 28 '21 15:09 vlauciani

About the inheritance problem without using the discriminator, I found this workaround:

  • https://github.com/swagger-api/swagger-codegen/issues/6127#issuecomment-931363427

vlauciani avatar Sep 30 '21 14:09 vlauciani