Forum Discussion

sergiopf's avatar
sergiopf
Occasional Visitor
6 years ago

Join different types of endpoints using springboot and Elide.

I have a spring-boot project with two kind of endpoints, I have a swagger configuration for each kind, working in isolation but I want to see all endpoints at http://localhost:8080/swagger-ui.html.

1. Typical controllers, using @RequestMapping and mappings (@GetMapping, @PostMapping and @DeleteMapping). With this configuration I use springfox (typical Docket object):

new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors
.basePackage("com.billib.business.coreengine"))
.paths(PathSelectors.any())
.build();

2. Elide endpoints, a framework with its own swagger system. I publish a @GetMapping(value = "/v2/api-docs") which returns an object of type io.swagger.models.Swagger (as a json) to create the response each time I open http://localhost:8080/swagger-ui.html. This endpoints can't be seen using springfox and Docket object until what I know.

@GetMapping(value = "/v2/api-docs", produces = MediaType.APPLICATION_JSON_UTF8_VALUE )
public String apiDocs() {
	EntityDictionary dictionary = elide.getElideSettings().getDictionary();

	Info info = new Info().title("Business REST API").version("1.0");
	SwaggerBuilder builder = new SwaggerBuilder(dictionary, info);
	Swagger document = builder.build();
		
	return SwaggerBuilder.getDocument(document);
}

 

I want to join all responses into one to see all together at http://localhost:8080/swagger-ui.html, but I can't, I can only separately.

Any idea to accomplish it?

  • Springfox is not one of our projects, and we don't know it well enough to provide support for it. Please try filing a ticket with the project and I'm sure they'll do their best to help.