I am using tynamo resteasy with my Tapestry 5.4 project. I'd like to incorporate Swagger to document and share API with other other teams. While I see that swagger is already in RestEasy's project dependency, it does not work "out of the box"
I've added
@Api
to the "Resource" class (located in /rest/
package)
and
@ApiOperation
to the GET
method
Do I need to change AppModule
or web.xml
in anyway to hook the swagger UI?
Is there an example (github etc.) anywhere that I can follow?
Also, will the swagger api be available at localhost/swagger/myendpoint
?
Here's a step by step process:
Get swagger-jaxrs: https://mvnrepository.com/artifact/io.swagger/swagger-jaxrs/1.5.0
Create a
SwaggerModule.java
in "modules" directory (example:com.mysite.mypkg.modules
)On your AppModule.java, import the SwaggerModule (Tapestry 5.4)
The
swagger.json
andswagger.yaml
can now be accessed as:Many thanks to @ascandroli above for pointing out the basics
Take a look at this old commit: https://github.com/tynamo/tapestry-resteasy/commit/9a4c2979fda83900480449f25df8cb5e919e4306
Pay special attention to the SwaggerModule. The code is rather old and I'm almost sure that is not going to work out of the box if you copy&paste it as is, but it will give you a very good idea of how the connections between the projects work and the setup required.