【问题标题】:Springfox @RestController namingSpringfox @RestController 命名
【发布时间】:2016-10-24 00:24:30
【问题描述】:

我在使用 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() {
    //...
    }
}

【问题讨论】:

    标签: spring-boot swagger springfox


    【解决方案1】:

    尝试使用@Api 注解的tags 参数来更改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 的所有记录操作与标签“应用程序状态”分组。

    【讨论】:

    • 这个问题需要自己的名字。
    【解决方案2】:

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

    @Api(
      tags="Application Status.",
      description = "Provides Application Status API's.
    ")
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-24
        • 2019-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-29
        • 2016-05-25
        相关资源
        最近更新 更多