Two swagger URLs from single spring boot project - spring

I have a spring boot project, after running I can open the swagger URL.
I have mentioned two groups for my swagger:
External
Internal
I am looking for a way, where if I provide external API URL to customers, they will not be able to see internal APIs and vice versa.
Is there a way, we can have two different URLs for a swagger document?
Note: I am using springdoc-openapi-ui library for this.

Related

Spring boot -Open api 3 doc generation dynamically without maven and restarting application (swagger Interceptor implementation)

I am using spring boot in which I wanted to dynamically generate open api 3 specification by uploading json/yml and view in swagger ui
upload json/yml
dynamically generate swagger /open api specification
3.view in swagger ui
Is there any approach /plugin available to implement this?
similar implementation as swagger Interceptor but our workstation does not allow to use interceptor. so we are generating our own tool

SpringFox context path duplicated when deployed to Tomcat

I have a Spring Boot resource server using SpringFox to generate Swagger UI documentation for the REST API. I'm using Spring version 2.2.4.RELEASE and SpringFox version 3.0.0-SNAPSHOT.
When I run the application self hosted the URLs in the documentation are correct, they look like this:
http://localhost:8080/customers
But when I run the same application on tomcat the URLs look like this:
https://myapp.azurewebsites.net/my-app-1.0.0/my-app-1.0.0/customers
The application path is duplicated for all the APIs, the path should be:
https://myapp.azurewebsites.net/my-app-1.0.0/customers
Another issue is the api-docs link, this is wrong for the self hosted but correct for tomcat hosted environments. Both hosting environments including the application which is wrong when self hosted but then its not duplicated like all the others in tomcat:
http://localhost:8080/my-app-1.0.0/v2/api-docs
Also, the documentation is including the application path in the documentation (not duplicated here). The application path is not included when running self hosted.
I tried specifying the context path in the application.yml file but this had no effect (I tried both server.servlet.contextPath and server.servlet.context-path)
How can I get SpringFox to generate the correct URLs?

Adding Swagger API Documentation to Maven Site

I have a Spring Boot project and I'm using swagger to test and document the API. The project also contains a bunch of classes that are used as libraries and I'm using scala docs to document those. Is there a way to unify API docs (from swagger) and Scala Docs as I'm hosting the docs using maven site plugin.

using apache camel REST DSL using restlet adding swagger

I am using apache camel REST DSL using springboot. All the configuration works fine. Now I want to add REST documentation using camel swagger java component. The REST DSL and swagger java, works out of the box. I can see the JSON output of the exposed REST services.
Now Question, what steps I need to follow, such that i can view camel REST documentation using swagger-ui?
I searched for answers, however the only solution was to download swagger-ui from github and "copy" <dist> folder to project, this doesn't seems to work, getting 404. URL i am using is localhost:8081\rest\index.html.
I liked the spring-fox swagger2, is it something can be supported in camel?
See this example which includes swagger ui.
https://github.com/apache/camel/tree/master/examples/camel-example-swagger-xml
The index.html file has more details how to access the swagger ui when the application runs.

Sharing the data or context between two different tomcat server?

There is scenario in my project where I have to share the data from one project to another both the project are running on different server.
I am using JSF and Spring in my project where spring use only for Data base things.
I want to know there is a any way like cross context to share the data or context of two different server.
I am using tomcat 7.0.67, spring 3.3.0 and jsf 1.2
I have achieve sharing data between to different server using the restful web service

Resources