Much better, thanks! On Thu, Mar 9, 2017 at 2:14 PM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > I dont think any Camel users fancy writing 10 lines to setup a > component to call a rest endpoint. > I dont think what you do is simple. Although its possible. > > Maybe if you can get it down a syntax as > > rest-swagger:path:swaggerOperationId > > where path can be optional, and if omitted, then its read from > component / rest configuration (maybe the context-path option, or > introduce a new producerContextPath if we need to) > > In your example you can just do "rest-swagger:v2:getPetById" > > > And if you want to configure the path you can do that on the component > level (although requires a bit of java code) > > RestSwaggerComponent ... > component.setPath("v2") > > ... but spring boot users can configure it using spring boot style in > application.properties > > camel.component.rest-swagger.path = v2 > > > And the componentName=underow is auto discovered afair. And if not you > can set it on rest configuration (producer component). > > > > > > > > > > > On Thu, Mar 9, 2017 at 1:42 PM, Zoran Regvart <zo...@regvart.com> wrote: >> Hi Cameleers, >> I'm thinking of reopening CAMEL-10932[1]: the REST Swagger component, >> I would like to see support for something as simple like >> `rest-swagger:operation`, where operation would be from a Swagger >> specification. Operation ids are guaranteed to be unique by Swagger >> specification. >> >> I've got this working better than in the initial PR i submitted for >> review -- now it delegates to RestEndpoint much in the same manner >> RestProducerFactory implementations delegate to their own endpoints. >> >> The thing that buggs me is passing http component specific or even >> rest component specific properties from this new component. Now I have >> a Map of properties to pass and I'm using >> DefaultEndpoint::setProperties to propagate them to RestEndpoint. >> >> But I guess, this is not helping tooling in any way as it has no way >> of knowing what properties are supported. So, is there a better way of >> doing this? I don't want to duplicate properties getters/setters and >> then have to maintain them in two places. >> >> Oh, and I have an example of usage, but it should be as simple as: >> >> final RestConfiguration restConfiguration = new RestConfiguration(); >> restConfiguration.setHost("http://petstore.swagger.io"); >> context.setRestConfiguration(restConfiguration); >> >> final RestSwaggerComponent petstore = new >> RestSwaggerComponent(camelContext); >> final Map<String, Object> parameters = new HashMap<>(); >> parameters.put("path", "/v2"); >> parameters.put("componentName", "undertow"); // or any other >> RestProducerFactory component >> petstore.setParameters(parameters); >> context.addComponent("petstore", petstore); >> //... >> template.requestBodyAndHeader("petstore:getPetById", null, "petId", 1); >> >> thanks, and sorry for being long winded >> >> zoran >> >> [1] https://issues.apache.org/jira/browse/CAMEL-10932 >> -- >> Zoran Regvart > > > > -- > Claus Ibsen > ----------------- > http://davsclaus.com @davsclaus > Camel in Action 2: https://www.manning.com/ibsen2
-- Zoran Regvart