18

我在使用 Springfox 时遇到了一些小麻烦。我无法为 @RestController 类设置名称。

我正在使用 Spring Boot 和 Swagger2。

以下代码将在 springfox ui 中生成一个名为“rest-status-controller”的控制器。我期望的是“应用程序状态”。还有其他我不知道的配置吗?

@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() {
    //...
    }
}
4

3 回答 3

42

尝试使用 Annotation 的tags参数@Api来更改 RestController 方法的分组名称。摘自相应的 Java Doc(缩短):

/**
 * 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 "";

在您的情况下,只需使用:

@Api(tags = "Application Status")
@RestController
@RequestMapping("/rest/status")
public class RestStatusController {
    ...
}

这应该将所有记录在案的操作RestStatusController与标签“应用程序状态”组合在一起。

于 2016-06-22T12:10:58.337 回答
9

同时使用标签和描述来避免控制器名称 API 分组。例如:

@Api(
  tags="Application Status.",
  description = "Provides Application Status API's.
")
于 2018-04-26T14:47:08.937 回答
1

@Tags(name = "name", description = "description") 根据 OpenApi v3

于 2022-01-19T09:42:33.790 回答