美文网首页
2020-12-19 swagger使用方法

2020-12-19 swagger使用方法

作者: 今晚打老鼠儿 | 来源:发表于2020-12-19 22:30 被阅读0次

    一、依赖

    • swagger2
    <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger2 -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>3.0.0</version>
    </dependency>
    
    • ui
    <!-- https://mvnrepository.com/artifact/io.springfox/springfox-swagger-ui -->
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>3.0.0</version>
    </dependency>
    

    如果你使用的是swagger 3.0 你就需要使用

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-boot-starter</artifactId>
            <version>3.0.0</version>
        </dependency>
    

    访问:http://localhost:8080/swagger-ui/index.html 就可以实现swagger-ui.html的访问

    二、集成Swagger

    集成Swagger

    访问:http://localhost:8080/swagger-ui/index.html 就可以实现swagger-ui.html的访问

    Swagger网页信息

    三、配置Swagger

    用配置环境判断是否启动
    //配置了 Swagger 的Docket的Bean实例
        @Bean
        public Docket docket(Environment environment){
            //获取项目环境
            Profiles profiles = Profiles.of("dev");
            //通过environment.acceptsProfiles(profiles)判断是否处在自己设定的环境当中
            boolean flag = environment.acceptsProfiles(profiles);
    
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .enable(flag)//enable:是否启动Swagger
                    .select()
                    //RequestHandlerSelectors:配置扫描的接口的方式
                    //basePackage:指定要扫描的包
                    //any():扫描全部
                    //none():都不扫描
                    //withClassAnnotation:扫描类上的注解,参数是一个注解的类
                    //withMethodAnnotation:扫描方法上的注解
                    .apis(RequestHandlerSelectors.basePackage("top.learnchen.swagger.controller"))
                    //paths:过滤器,只扫描learnchen下的接口
                    .paths(PathSelectors.ant("/learnchen/**"))
                    .build();
        }
    
        //配置 Swagger 信息 = apiInfo
        private ApiInfo apiInfo(){
            //作者信息
            Contact contact = new Contact("Learn陈","http://www.learnchen.top","1060333251@qq.com");
            return new ApiInfo(
                    "Learn陈的SwaggerAPI文档",//标题党
                    "这个作者是初学者",//简介党
                    "v1.0",//版本党
                    "http://www.learnchen.top",//网站党
                    contact,//作者信息
                    "Apache 2.0",//不修改
                    "http://www.apache.org/licenses/LICENSE-2.0",//不修改
                    new ArrayList()//默认
            );
        }
    

    四、注释

    • 控制器

    方法:@ApiOperation("User2控制器")
    方法参数:@ApiParam("user")

    • 实体类

    类:@ApiModel("用户实体类")
    方法:@ApiModelProperty("用户名")

    相关文章

      网友评论

          本文标题:2020-12-19 swagger使用方法

          本文链接:https://www.haomeiwen.com/subject/sjlqnktx.html