[GitHub] camel pull request #1544: CAMEL-10932 REST Swagger component

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[GitHub] camel pull request #1544: CAMEL-10932 REST Swagger component

onders86
GitHub user zregvart opened a pull request:

    https://github.com/apache/camel/pull/1544

    CAMEL-10932 REST Swagger component

    **Please review this, thank you** :1st_place_medal:
   
    This includes the initial implementation of the `rest-swagger` component
    that allows for a higher level abstraction over the REST API usage from
    other Camel components that implement the `RestProducerFactory` SPI
    combined with Swagger (Open API) specifications.
   
    The most simple usage would be:
   
        to("rest-swagger:getPetById")
   
    Which would pick up the Swagger specification from `swagger.json` and
    try to find a single component that implements the `RestProducerFactory`
    SPI and invoke the `getPetById` operation.
   
    Other way of using this component could be:
   
        to("rest-swagger:http://petstore.swagger.io/v2/swagger.json#getPetById")
   
    That loads the Swagger specification from the
    `http://petstore.swagger.io/v2/swagger.json` URL and invokes the
    `getPetById` operation.
   
    More concise way of configuring would be to configure most properties
    on the component add it to CamelContext, and use only `operationId` path
    parameter when triggering the exchange:
   
        // add `petstore` component to the CamelContext
        RestSwaggerComponent petstore =
            new RestSwaggerComponent(camelContext);
        petstore.setSpecificationUri("http://petstore.swagger.io/v2/swagger.json");
        petstore.setComponentName("undertow");
        camelContext.addComponent("petstore", petstore);
   
    And then use `operationId` in endpoint definition:
   
        ProducerTemplate template = camelContext.getProducerTemplate();
        template.requestBodyAndHeaders("petstore:getPetById", null, "petId",
            petId);

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/zregvart/camel swagger-awesome-respin

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/camel/pull/1544.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1544
   
----
commit b68d5553283cd46511147eba200191c5df21c619
Author: Zoran Regvart <[hidden email]>
Date:   2017-03-16T11:54:47Z

    CAMEL-10932 REST Swagger component
   
    This includes the initial implementation of the `rest-swagger` component
    that allows for a higher level abstraction over the REST API usage from
    other Camel components that implement the `RestProducerFactory` SPI
    combined with Swagger (Open API) specifications.
   
    The most simple usage would be:
   
        to("rest-swagger:getPetById")
   
    Which would pick up the Swagger specification from `swagger.json` and
    try to find a single component that implements the `RestProducerFactory`
    SPI and invoke the `getPetById` operation.
   
    Other way of using this component could be:
   
        to("rest-swagger:http://petstore.swagger.io/v2/swagger.json#getPetById")
   
    That loads the Swagger specification from the
    `http://petstore.swagger.io/v2/swagger.json` URL and invokes the
    `getPetById` operation.
   
    More concise way of configuring would be to configure most properties
    on the component add it to CamelContext, and use only `operationId` path
    parameter when triggering the exchange:
   
        // add `petstore` component to the CamelContext
        RestSwaggerComponent petstore =
            new RestSwaggerComponent(camelContext);
        petstore.setSpecificationUri("http://petstore.swagger.io/v2/swagger.json");
        petstore.setComponentName("undertow");
        camelContext.addComponent("petstore", petstore);
   
    And then use `operationId` in endpoint definition:
   
        ProducerTemplate template = camelContext.getProducerTemplate();
        template.requestBodyAndHeaders("petstore:getPetById", null, "petId",
            petId);

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[GitHub] camel pull request #1544: CAMEL-10932 REST Swagger component

onders86
Github user zregvart closed the pull request at:

    https://github.com/apache/camel/pull/1544


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [hidden email] or file a JIRA ticket
with INFRA.
---
Loading...