zoukankan      html  css  js  c++  java
  • Java开发文档Swagger的使用详细教程

    springboot中添加swagger

    版本2.7.0

    版本2.8.0

    使用UI界面不同,个人比较喜欢2.7.0

    1.导入swagger依赖

    <!--swagger依赖-->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.8.0</version>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.8.0</version>
    </dependency>

    2.编写SwaggerConfig配置类

    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger.web.UiConfiguration;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    /**
     *
     */
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
    
        @Bean
        public Docket buildDocket() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(buildApiInf()) // .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage(""))// 需要生成文档的包的位置
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo buildApiInf() {
            return new ApiInfoBuilder()
                    .title("电影接口详情")
                    .description("Zuul+Swagger2构建RESTful APIs")
                    .version("1.0")
                    .build();
        }
    }

     3.使用注解

    @Api:修饰整个类,描述Controller的作用
    @ApiOperation:描述一个类的一个方法,或者说一个接口
    @ApiParam:单个参数描述
    @ApiModel:用对象来接收参数
    @ApiProperty:用对象接收参数时,描述对象的一个字段
    @ApiResponse:HTTP响应其中1个描述
    @ApiResponses:HTTP响应整体描述
    @ApiIgnore:使用该注解忽略这个API
    @ApiError :发生错误返回的信息
    @ApiImplicitParam:一个请求参数
    @ApiImplicitParams:多个请求参数
  • 相关阅读:
    MYSQL数据库基于MHA的高可用
    2019.9.20 Tomcat部署SL商城系统并连接MariaDB数据库
    2019.9.20 nginx+tomcat的负载均衡集群
    2019.9.20 tomcat自定义网站测试
    2019.9.20 Tomcat 安装和jdk的解压
    2019.9.19 tomcat 虚拟主机
    2019.9.19 tomcat配置ssl加密
    2019.9.18 nfs共享与动静分离
    2019.9.17 用户访问网站过程
    2019.9.17 awk上课总结
  • 原文地址:https://www.cnblogs.com/cosmosray/p/13268796.html
Copyright © 2011-2022 走看看