Springfox @RestController naming
Asked Answered
H

4

25

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() {
    //...
    }
}
Hardpressed answered 22/6, 2016 at 7:43 Comment(0)
B
47

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".

Blaney answered 22/6, 2016 at 12:10 Comment(1)
This issue needs its own name.Inactivate
F
9

Use both tags and description to avoid controller name API grouping. For example:

@Api(
  tags="Application Status.",
  description = "Provides Application Status API's.
")
Farhi answered 26/4, 2018 at 14:47 Comment(0)
L
6

@Tags(name = "name", description = "description") As per OpenApi v3

Lev answered 19/1, 2022 at 9:42 Comment(0)
B
5

For OpenApi v3:

@Tag(name = "name")
Bini answered 13/12, 2022 at 21:44 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.