spring-boot-swagger

第一步:引入GAV

 <!--Swagger-->
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <!--  guava 开源的java库      -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>27.1-jre</version>
        </dependency>

第二步编写配置文档

@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                //选择controller包
                .apis(RequestHandlerSelectors.basePackage("com.sgcc.dls.imnotice.controller"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                //自定义信息可按需求填写
                .title("即时通讯与通知服务-API文档")
                .description("接口文档")
                .termsOfServiceUrl("http://")
                //contact 作者信息
                .contact(new Contact("张强", "", ""))
                .version("1.0")
                .build();
    }

}

以上配置文件主要生成页面中的一些信息,例如接口扫描的包文件,文档的标题描述等信
第三步 使用注解
Swagger官方注解
https://github.com/swagger-api/swagger-core/wiki/Annotations

名称 描述
@Api 将类标记为Swagger资源。
@ApiImplicitParam 表示API操作中的单个参数。
@ApiImplicitParams 一个包装器,允许列出多个ApiImplicitParam对象。
@ApiModel 提供有关Swagger模型的其他信息。
@ApiModelProperty 添加和操作模型属性的数据。
@ApiOperation 描述针对特定路径的操作或通常是HTTP方法。
@ApiParam 为操作参数添加其他元数据。
@ApiResponse 描述操作的可能响应。
@ApiResponses 一个包装器,允许列出多个ApiResponse对象。
@Authorization 声明要在资源或操作上使用的授权方案。
@AuthorizationScope 描述OAuth2授权范围。
@ResponseHeader 表示可以作为响应的一部分提供的标头。

第四步 进行访问
访问地址
ip:端口号/swagger-ui.html

@Api(value="认证控制器", tags={"认证接口"})

tags将显示在swagger的页面中


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容