Springfox @RestController naming
I'm getting some minor troubles using Springfox. I can't set a name to @RestController classes.
I'm using Spring boot and Swagger2.
The following code will produce a controller named "rest-status-controller" in springfox ui. I've expected a "Application Status" instead. Is there another config I'm not aware of ?
@Api("Application Status")
@RestController
@RequestMapping("/rest/status")
public class RestStatusController {
@ApiOperation(value="Get components current status")
@RequestMapping(method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON)
public String global() {
//...
}
@ApiOperation(value="Get mysql current status")
@RequestMapping(value="/mysql" method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON)
public String mysql() {
//...
}
}
Try to use the tags
parameter of the @Api
Annotation to change the name of the grouping of your RestController methods. Excerpt from the corresponding Java Doc (shortened):
/**
* A list of tags for API documentation control.
* Tags can be used for logical grouping of operations by resources or any other qualifier.
*/
String[] tags() default "";
In your case, just use:
@Api(tags = "Application Status")
@RestController
@RequestMapping("/rest/status")
public class RestStatusController {
...
}
This should group all documented operations from RestStatusController
with the tag "Application Status".
Use both tags and description to avoid controller name API grouping. For example:
@Api(
tags="Application Status.",
description = "Provides Application Status API's.
")
@Tags(name = "name", description = "description")
As per OpenApi v3