Hi,
We are building a Spring Boot application with RESTEasy integration. We
define our contract using Swagger2/OpenAPI specification and generate
JAX-RS resources using
https://github.com/swagger-api/swagger-codegen.
To integrate Spring boot with RESTEasy we use
https://github.com/paypal/resteasy-spring-boot starter. Swagger
Specification provides a property where `basePath` for the application
can be defined
(
https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#...).
Codegen uses this property to annotate Resource class with @Path
annotation.
Now we want to host api specification(static json files) which in turn
is parsed to host swagger-ui.html. We would like to host these static
resources as part of the application. Issue is that Spring Boot
RestEasy starter uses ServletContextListener and it is mapped to "/*"
URL pattern, if you don't define Application class with
@ApplicationConfig. This makes it impossible to host any static
resources. Same issue exists when I tried to add Spring Boot Actuator
as well. This is not an issue if I add Application class and bound REST
resources to different namespace other than "/*". But we would like to
follow Swagger Spec and define everything including URL in specification
rather than Application. Please let me know if there is something I am
missing here or is there any workaround?
Thanks in advance
Abhi