You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Johnathan Ingram (Jira)" <ji...@apache.org> on 2022/05/06 05:50:00 UTC

[jira] [Updated] (CAMEL-18066) OpenApi Specification Generator: Add support for discriminator for xOf

     [ https://issues.apache.org/jira/browse/CAMEL-18066?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Johnathan Ingram updated CAMEL-18066:
-------------------------------------
    Description: 
Add support for the OpenApi spec 'discriminator' allowing for explicit selection of a schema type based on a property value.

[https://redocly.com/docs/resources/discriminator/]

 

This class 
{code:java}
@Schema(oneOf = { XOfFormA.class, XOfFormB.class },
        discriminatorProperty = "code",
        discriminatorMapping = {
                @DiscriminatorMapping(value = "a-123", schema = XOfFormA.class),
                @DiscriminatorMapping(value = "b-456", schema = XOfFormB.class) })
public interface OneOfForm {
    // The discriminator explicitly declares which property you can inspect to determine the object type.
    // The discriminator must apply to the same level of the schema it is declared in (common mistake when using nested objects).
} {code}
will generate
{code:java}
"components" : {
    "schemas" : {
      "OneOfForm" : {
        "oneOf" : [ {
          "$ref" : "#/components/schemas/XOfFormA"
        }, {
          "$ref" : "#/components/schemas/XOfFormB"
        } ],
        "discriminator" : {
          "propertyName" : "code",
          "mapping" : {
            "a-123" : "#/components/schemas/org.apache.camel.openapi.model.XOfFormA",
            "b-456" : "#/components/schemas/org.apache.camel.openapi.model.XOfFormB"
          }
        },

...{code}
 

  was:
Add support for the OpenApi spec 'discriminator' allowing for explicit selection of a schema type based on a property value.

[https://redocly.com/docs/resources/discriminator/]

 

 


> OpenApi Specification Generator: Add support for discriminator for xOf
> ----------------------------------------------------------------------
>
>                 Key: CAMEL-18066
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18066
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-openapi-java
>    Affects Versions: 3.14.2
>            Reporter: Johnathan Ingram
>            Priority: Minor
>
> Add support for the OpenApi spec 'discriminator' allowing for explicit selection of a schema type based on a property value.
> [https://redocly.com/docs/resources/discriminator/]
>  
> This class 
> {code:java}
> @Schema(oneOf = { XOfFormA.class, XOfFormB.class },
>         discriminatorProperty = "code",
>         discriminatorMapping = {
>                 @DiscriminatorMapping(value = "a-123", schema = XOfFormA.class),
>                 @DiscriminatorMapping(value = "b-456", schema = XOfFormB.class) })
> public interface OneOfForm {
>     // The discriminator explicitly declares which property you can inspect to determine the object type.
>     // The discriminator must apply to the same level of the schema it is declared in (common mistake when using nested objects).
> } {code}
> will generate
> {code:java}
> "components" : {
>     "schemas" : {
>       "OneOfForm" : {
>         "oneOf" : [ {
>           "$ref" : "#/components/schemas/XOfFormA"
>         }, {
>           "$ref" : "#/components/schemas/XOfFormB"
>         } ],
>         "discriminator" : {
>           "propertyName" : "code",
>           "mapping" : {
>             "a-123" : "#/components/schemas/org.apache.camel.openapi.model.XOfFormA",
>             "b-456" : "#/components/schemas/org.apache.camel.openapi.model.XOfFormB"
>           }
>         },
> ...{code}
>  



--
This message was sent by Atlassian Jira
(v8.20.7#820007)