Hi

You do not need to use the create-starter script as it is as you say
for when there is an existing camel component that it based upon.
You can create a new directory manually, thought you then need to add
it manually to the pom.xml file.

But that can be later, at first you can create the directory manually,
and copy over that source I hacked together, and polish as needed.
Use the right name etc. Add a doc file in src/main/docs etc.

And then you can build it locally with mvn clean install so you have
the JAR in your local m2 repo.
Then you can try to use it from your example to see it works.





On Wed, Oct 13, 2021 at 10:05 PM Steve973 <steve...@gmail.com> wrote:
>
> Ok, that makes sense.  Another thing that I am curious about is the fact
> that using create-starter wants there to be a camel-springdoc library that
> the camel-springdoc-starter configures.  When I try to create a starter
> module manually, and without that nonexistent library, it won't build for
> me.  This is the first time that I am working directly on the Camel code,
> so if there is a decent resource to get me started, would you mind pointing
> me in the right direction, please?
>
> Thanks,
> Steve
>
> On Wed, Oct 13, 2021 at 2:33 PM Claus Ibsen <claus.ib...@gmail.com> wrote:
>
> > On Wed, Oct 13, 2021 at 8:05 PM Steve973 <steve...@gmail.com> wrote:
> > >
> > > Hi, Claus.  I am assuming that you made your modifications, and then
> > added
> > > them to a test project (locally, not in the repo) and brought in the
> > > springdoc ui dependency into that?  I am asking because I don't see it in
> > > the branch that you pushed for this ticket.
> > >
> >
> > Yes I used your example from that github link you had.
> >
> > > Thanks,
> > > Steve
> > >
> > > On Sun, Oct 10, 2021 at 1:13 PM Steve973 <steve...@gmail.com> wrote:
> > >
> > > > My ASF Jira username is Steve973.  I'd be glad to take what you have
> > done
> > > > and create a new module with it.  By the way, you might remember a
> > > > discussion about the implementation of the Dynamic Router EIP that we
> > had a
> > > > few years ago.  I am just now getting around to implementing it in a
> > way
> > > > that better agrees with the EIP description.  I would like your
> > thoughts
> > > > and input on it.  Should I start a new email thread about it?
> > > >
> > > > Thanks again,
> > > > Steve
> > > >
> > > > On Sun, Oct 10, 2021 at 11:10 AM Claus Ibsen <claus.ib...@gmail.com>
> > > > wrote:
> > > >
> > > >> Hi
> > > >>
> > > >> Okay I got this working now. Had to fix a thing in camel-openapi-java
> > > >> https://issues.apache.org/jira/browse/CAMEL-17063
> > > >>
> > > >> The UI now works and I can see the rest-dsl services and invoke them.
> > > >>
> > > >> Steve, so what is needed is to take that work on
> > > >> https://github.com/apache/camel-spring-boot/tree/CAMEL-17061
> > > >>
> > > >> And move that into a new camel-springdoc-starter module
> > > >> and then polish and adjust the code so it uses camel.springdoc as
> > > >> configuration instead of camel.openapi
> > > >>
> > > >> Since you use servlet then it requires 3.13.0-SNAPSHOT to have fixes
> > > >> from camel-openapi-java, so you may need to build a camel project
> > > >> locally too.
> > > >> You can do that with
> > > >>
> > > >> mvn clean install -P fastinstall
> > > >>
> > > >> After this it would be nice to add camel-springdoc-starter to one of
> > > >> the REST examples at
> > > >> https://github.com/apache/camel-spring-boot-examples
> > > >>
> > > >> And then update the readme file with some details.
> > > >>
> > > >> And you are also welcome to write a guest blog to be posted on the
> > > >> Camel front page about this new feature in Camel 3.13.
> > > >>
> > > >> If you have a JIRA account then let me know the username then I can
> > > >> grant your karma to assign the ticket at
> > > >> https://issues.apache.org/jira/browse/CAMEL-17061
> > > >>
> > > >> On Sun, Oct 10, 2021 at 2:14 PM Claus Ibsen <claus.ib...@gmail.com>
> > > >> wrote:
> > > >> >
> > > >> > Hi
> > > >> >
> > > >> > Okay I have it almost working in the sprindoc UI.
> > > >> > However there is a glitch when using servlet as you need to have the
> > > >> > servlet run in its own context-path so it does not affect
> > spring-boot,
> > > >> > eg that is why it runs with /camel/* by default.
> > > >> > However the UI when you click "try it out" then it invokes the
> > service
> > > >> > without that content-path.
> > > >> >
> > > >> > So I need to find a solution for this in rest-dsl + servlet +
> > open-api
> > > >> > - however if I invoke the correct url then it works nice.
> > > >> >
> > > >> > There is also some tags that just say "camel" we can maybe enrich
> > this
> > > >> > by default to have a bit more nicer details like the Actuator does.
> > > >> >
> > > >> > The work is pushed on a branch here
> > > >> > https://github.com/apache/camel-spring-boot/tree/CAMEL-17061
> > > >> >
> > > >> > On Sun, Oct 10, 2021 at 12:28 PM Claus Ibsen <claus.ib...@gmail.com
> > >
> > > >> wrote:
> > > >> > >
> > > >> > > Hi
> > > >> > >
> > > >> > > Yeah that is a good idea. However as springdoc is for spring boot
> > > >> > > only, then lets put it only into camel-spring-boot project.
> > > >> > >
> > > >> > > camel-springdoc-starter
> > > >> > >
> > > >> > > I have some prototype code I put into camel-openapi-java that can
> > be
> > > >> > > moved into this new springdoc-starter and used as a starting
> > point.
> > > >> > > Then you should be able to just add camel-springdoc-starter JAR as
> > > >> > > dependency to your project and then it comes with the UI included.
> > > >> > >
> > > >> > > I will put my work into a branch on camel-spring-boot upstream,
> > then
> > > >> > > you are welcome to look at that and work on the
> > > >> > > camel-springdoc-starter.
> > > >> > > Documentation should be included in the
> > > >> > > src/main/docs/springdoc-starter.adoc file.
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > On Sat, Oct 9, 2021 at 6:16 PM Steve973 <steve...@gmail.com>
> > wrote:
> > > >> > > >
> > > >> > > > That sounds great!  I was able to get both definitions to
> > coexist,
> > > >> although
> > > >> > > > I am not sure if it is entirely ideal or not.  I achieved this
> > in
> > > >> the
> > > >> > > > configuration:
> > > >> > > >
> > > >> > > > springdoc:
> > > >> > > >   show-actuator: true
> > > >> > > >   swagger-ui:
> > > >> > > >     disable-swagger-default-url: true
> > > >> > > >     urls:
> > > >> > > >       # Definition generated by springdoc for the actuator
> > endpoints
> > > >> > > >       - url: /v3/api-docs
> > > >> > > >         name: Spring Boot Actuator
> > > >> > > >       # The Camel REST DSL swagger
> > > >> > > >       - url: /api/api-doc
> > > >> > > >         name: Rest API
> > > >> > > >
> > > >> > > > Now, if we change the selection at the top, where it says
> > "Select a
> > > >> > > > definition", we can choose between the REST API and the Spring
> > Boot
> > > >> > > > Actuator endpoints.
> > > >> > > >
> > > >> > > > I do like your idea, though.  If we can have these things work
> > > >> together,
> > > >> > > > and more easily, that would be even better.  Should I attempt to
> > > >> create a
> > > >> > > > camel-springdoc-java component and starter?  I can see this
> > working
> > > >> well
> > > >> > > > with the REST DSL, and with other spring boot rest controllers
> > all
> > > >> > > > coexisting in the same project.  In the forums, etc, I saw more
> > > >> than a
> > > >> > > > couple of questions about getting a UI on top of swagger, so
> > this
> > > >> might be
> > > >> > > > a useful thing for some people.
> > > >> > > >
> > > >> > > > On Sat, Oct 9, 2021 at 11:57 AM Claus Ibsen <
> > claus.ib...@gmail.com>
> > > >> wrote:
> > > >> > > >
> > > >> > > > > Hi Steven
> > > >> > > > >
> > > >> > > > > Thanks for the work. I looked as well and we can likely make
> > Camel
> > > >> > > > > automatic enlist its rest-dsl into spring boot so the
> > springdoc
> > > >> can
> > > >> > > > > automatic discover it
> > > >> > > > > https://issues.apache.org/jira/browse/CAMEL-17061
> > > >> > > > >
> > > >> > > > > We do this in the -starter JARs and make it possible to turn
> > > >> on|off so
> > > >> > > > > users can decide.
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > On Sat, Oct 9, 2021 at 5:23 PM Steve973 <steve...@gmail.com>
> > > >> wrote:
> > > >> > > > > >
> > > >> > > > > > Please have a look at my working example.  When I get it all
> > > >> working, and
> > > >> > > > > > cleaned up, I can submit it as one of the camel example
> > > >> modules, if that
> > > >> > > > > > would be helpful.  I would make the project resemble the
> > other
> > > >> examples
> > > >> > > > > as
> > > >> > > > > > closely as possible.  I thought that being able to include
> > the
> > > >> actuator
> > > >> > > > > > endpoints would be a good illustration of how other REST
> > > >> endpoints could
> > > >> > > > > be
> > > >> > > > > > included with the camel rest information.
> > > >> > > > > >
> > > >> > > > > > On Sat, Oct 9, 2021 at 10:59 AM Steve973 <
> > steve...@gmail.com>
> > > >> wrote:
> > > >> > > > > >
> > > >> > > > > > > Thank you, Claus.  I have been chipping away at this
> > problem,
> > > >> and it is
> > > >> > > > > > > quite possible to point springdoc to the generated swagger
> > > >> JSON.  In my
> > > >> > > > > > > application.yml:
> > > >> > > > > > >
> > > >> > > > > > > springdoc:
> > > >> > > > > > >   show-actuator: true
> > > >> > > > > > >   swagger-ui:
> > > >> > > > > > >     disable-swagger-default-url: true
> > > >> > > > > > >     url: /api/api-doc
> > > >> > > > > > >
> > > >> > > > > > > You can see that I have "show-actuator: true", but I have
> > not
> > > >> gotten
> > > >> > > > > this
> > > >> > > > > > > to work, yet.  I don't suppose that there is any way to
> > have
> > > >> the camel
> > > >> > > > > > > openapi java component include this in its openapi doc
> > > >> generation, is
> > > >> > > > > there?
> > > >> > > > > > >
> > > >> > > > > > > On Sat, Oct 9, 2021 at 10:11 AM Claus Ibsen <
> > > >> claus.ib...@gmail.com>
> > > >> > > > > wrote:
> > > >> > > > > > >
> > > >> > > > > > >> Hi
> > > >> > > > > > >>
> > > >> > > > > > >> At first thought I would assume springdoc needs a way to
> > > >> discover the
> > > >> > > > > > >> Camel Rest DSL model (api doc).
> > > >> > > > > > >> And maybe this can be done by exposing a bean into Spring
> > > >> that is of
> > > >> > > > > > >> type OpenApi
> > > >> > > > > > >>
> > > >> > > > > > >> @Bean
> > > >> > > > > > >> public OpenApi camelRestDsl() {
> > > >> > > > > > >>    ... // some code here that gathers the camel rest-dsl
> > > >> model and
> > > >> > > > > > >> return as bean
> > > >> > > > > > >> }
> > > >> > > > > > >>
> > > >> > > > > > >> However I am only speculating.
> > > >> > > > > > >>
> > > >> > > > > > >> You can try to add a custom method in your sample app and
> > > >> just
> > > >> > > > > > >> hardcode some bogus open api model as above and see if
> > > >> springdoc
> > > >> > > > > > >> detects this.
> > > >> > > > > > >>
> > > >> > > > > > >> Otherwise it can help if you have time to read into
> > > >> springodc how to
> > > >> > > > > > >> integrate with custom frameworks.
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >> On Sat, Oct 9, 2021 at 1:37 PM Steve973 <
> > steve...@gmail.com>
> > > >> wrote:
> > > >> > > > > > >> >
> > > >> > > > > > >> > Hi, Claus.  Thank you for the reply!  You can find
> > > >> springdoc here:
> > > >> > > > > > >> > https://springdoc.org/ and I moved my project from
> > using
> > > >> springfox
> > > >> > > > > > >> because
> > > >> > > > > > >> > springfox has only one developer, and springdoc is
> > > >> maintained by a
> > > >> > > > > > >> > community.  The artifact that I am using is
> > > >> > > > > > >> > "org.springdoc:springdoc-openapi-ui:1.5.11".  I am
> > using
> > > >> Spring Boot
> > > >> > > > > > >> 2.5.5,
> > > >> > > > > > >> > and Camel 3.12.0.  So that you can also see what I am
> > > >> doing, in
> > > >> > > > > case I
> > > >> > > > > > >> am
> > > >> > > > > > >> > doing something that is prohibiting the Camel OpenAPI
> > > >> functionality
> > > >> > > > > from
> > > >> > > > > > >> > working correctly, I pushed my example to Github:
> > > >> > > > > > >> >
> > https://github.com/Steve973/spring-camel-rest-experiments
> > > >> where I
> > > >> > > > > am
> > > >> > > > > > >> trying
> > > >> > > > > > >> > out a minimal example just to see if I can get it
> > > >> working.  Thanks
> > > >> > > > > > >> again!
> > > >> > > > > > >> >
> > > >> > > > > > >> > Steve
> > > >> > > > > > >> >
> > > >> > > > > > >> > On Sat, Oct 9, 2021 at 3:23 AM Claus Ibsen <
> > > >> claus.ib...@gmail.com>
> > > >> > > > > > >> wrote:
> > > >> > > > > > >> >
> > > >> > > > > > >> > > Hi
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > I have not tried that myself, can you maybe point
> > links
> > > >> to where
> > > >> > > > > this
> > > >> > > > > > >> > > spring ui exists?
> > > >> > > > > > >> > > And what version of SB and Camel are you using?
> > > >> > > > > > >> > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > On Sat, Oct 9, 2021 at 12:37 AM Steve973 <
> > > >> steve...@gmail.com>
> > > >> > > > > wrote:
> > > >> > > > > > >> > > >
> > > >> > > > > > >> > > > Hello.  I am using spring boot with the camel rest
> > dsl
> > > >> and it is
> > > >> > > > > > >> working
> > > >> > > > > > >> > > > great.  I can also have swagger JSON generated and
> > > >> accessible.
> > > >> > > > > But
> > > >> > > > > > >> I
> > > >> > > > > > >> > > would
> > > >> > > > > > >> > > > like to use the springdoc openapi user interface to
> > > >> interact
> > > >> > > > > with
> > > >> > > > > > >> my rest
> > > >> > > > > > >> > > > endpoints.  I have tried for hours, and I have not
> > > >> been able to
> > > >> > > > > get
> > > >> > > > > > >> the
> > > >> > > > > > >> > > UI
> > > >> > > > > > >> > > > to come up.  Does anyone know if it is possible to
> > use
> > > >> > > > > camel-rest
> > > >> > > > > > >> and the
> > > >> > > > > > >> > > > springdoc openapi user interface together?
> > > >> > > > > > >> > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> > >
> > > >> > > > > > >> > > --
> > > >> > > > > > >> > > Claus Ibsen
> > > >> > > > > > >> > > -----------------
> > > >> > > > > > >> > > http://davsclaus.com @davsclaus
> > > >> > > > > > >> > > Camel in Action 2: https://www.manning.com/ibsen2
> > > >> > > > > > >> > >
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >>
> > > >> > > > > > >> --
> > > >> > > > > > >> Claus Ibsen
> > > >> > > > > > >> -----------------
> > > >> > > > > > >> http://davsclaus.com @davsclaus
> > > >> > > > > > >> Camel in Action 2: https://www.manning.com/ibsen2
> > > >> > > > > > >>
> > > >> > > > > > >
> > > >> > > > >
> > > >> > > > >
> > > >> > > > >
> > > >> > > > > --
> > > >> > > > > Claus Ibsen
> > > >> > > > > -----------------
> > > >> > > > > http://davsclaus.com @davsclaus
> > > >> > > > > Camel in Action 2: https://www.manning.com/ibsen2
> > > >> > > > >
> > > >> > >
> > > >> > >
> > > >> > >
> > > >> > > --
> > > >> > > Claus Ibsen
> > > >> > > -----------------
> > > >> > > http://davsclaus.com @davsclaus
> > > >> > > Camel in Action 2: https://www.manning.com/ibsen2
> > > >> >
> > > >> >
> > > >> >
> > > >> > --
> > > >> > Claus Ibsen
> > > >> > -----------------
> > > >> > http://davsclaus.com @davsclaus
> > > >> > Camel in Action 2: https://www.manning.com/ibsen2
> > > >>
> > > >>
> > > >>
> > > >> --
> > > >> Claus Ibsen
> > > >> -----------------
> > > >> http://davsclaus.com @davsclaus
> > > >> Camel in Action 2: https://www.manning.com/ibsen2
> > > >>
> > > >
> >
> >
> >
> > --
> > Claus Ibsen
> > -----------------
> > http://davsclaus.com @davsclaus
> > Camel in Action 2: https://www.manning.com/ibsen2
> >



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to