Springfox @RestController 命名

Springfox @RestController naming

我在使用 Springfox 时遇到了一些小问题。我无法将名称设置为@RestController 类.

我正在使用 Spring boot 和 Swagger2。

以下代码将在 springfox ui 中生成一个名为 "rest-status-controller" 的控制器。我期待的是 "Application Status"。还有其他我不知道的配置吗?

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

尝试使用 @Api 注解的 tags 参数来更改 RestController 方法分组的名称。摘自相应的 Java 文档(缩写):

/**
 * 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 的所有已记录操作与标签 "Application Status" 组合在一起。

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

@Api(
  tags="Application Status.",
  description = "Provides Application Status API's.
")
w=12=shw=10=sh 每个 Openapi vzh=11=sh