If anyone ever needs it (I will try to further improve the code and
documentation):
https://github.com/maggu2810/jaxrswb

Am Mo., 25. Nov. 2019 um 13:28 Uhr schrieb Markus Rathgeb <maggu2...@gmail.com>:
>
> Hi again,
>
> as written before, the provided scanner does not work (for me) using
> different bundles / classpathes and multiple applications.
>
> Because of this I implemented yesterday the some wrapping of it myself.
>
> The implementation tries to identify ever JAX-RS resource (using
> service property filter) and its application (using object class and
> target filter with respect of the JAX-RS resource application select).
> After that it generates a map.
> The key consists of the "base path" (the path of the application) --
> so we can support as many applications as provided.
> The value consists of the classes that implement the JAX-RS resource.
>
> This map is used to fill the OpenAPI JAX-RS reader.
>
> The generated OpenAPI can be used to generate the JSON reply.
> But I don't want to rely on a special message body writer and the
> knowledge if the implementation serialize null references etc. (the
> Swagger UI does not work with every JSON serializer).
> So, I added a method that converts the "OpenAPI" into a
> "Map<String,Object>" that can be used by the most JSON serializers and
> generate a working result for the Swagger UI.
>
> The current snapshot can be found here:
> https://github.com/maggu2810/playground-osgi/tree/128d162ff8aa1a73337b00f712fcc5ffe0b1b869/bundles/jaxrs-oapi-gen/src/main/java/de/maggu2810/playground/osgi/jaxrs/oapi/gen/impl
>
> Best regards,
> Markus
>
> Am Sa., 23. Nov. 2019 um 13:29 Uhr schrieb Oliver Schweitzer
> <oschweit...@me.com>:
> >
> > Hi Markus,
> >
> > I can't argue about that behavior, because the original code isn't mine.
> >
> > Take a look at 
> > https://github.com/swagger-api/swagger-core/blob/d17f81c7e7ba99157ec7b3ab324a16372885416c/modules/swagger-jaxrs2/src/main/java/io/swagger/v3/jaxrs2/integration/resources/BaseOpenApiResource.java#L72
> >  - that's where the serialization code you linked to is originally from.
> >
> > In the version I supplied as pull request, see 
> > https://github.com/osx2000/aries-jax-rs-whiteboard/blob/master/integrations/openapi/openapi-resource/src/main/java/org/apache/aries/jax/rs/openapi/OpenApiResource.java
> >  the code duplication from the Swagger BaseOpenApiResource is replaced by 
> > inheritance
> >
> > Best regards,
> >
> > Oliver
> >
> > -----Original Message-----
> > From: Markus Rathgeb <maggu2...@gmail.com>
> > Sent: 23 November 2019 11:59
> > To: user@aries.apache.org
> > Subject: Re: Jax-RS Whiteboard and OpenAPI
> >
> > Hi Oliver,
> >
> > there is another thing I don't understand:
> > Why you do not run into the following "problem" I ran with your code:
> >
> > https://github.com/osx2000/finmath-service/blob/master/bundles/service/src/main/java/de/osx2000/finmath/service/OpenApiResource.java#L125
> >
> > If a "json" reply is generated you stringify the object already and place 
> > the JSON string representation of the object as entity in the response.
> > As media type JSON is chosen...
> >
> > For me the message body writer for the media type JSON is picked up by 
> > JAX-RS to encode the response's entity. The entity object (a string that 
> > already is a valid JSON string) is then again stringified as JSON...
> >
> > Why is this not been the cause for your message body writer?
> >

Reply via email to