博主首页

swagger开关,swagger接口文档开关,swagger全局参数配置,以及参数默认值,swagger添加参数,swagger配置参数

复制代码
package com.peony.electric.server.config;

import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
import com.peony.common.entity.po.TaskPO;
import com.peony.common.enums.TaskStatus;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 杜云山
 * @date 2019/10/26
 */
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class Swagger2Config {

    @Bean
    public Docket createRestApi() {
        boolean show=false;//开关配置,可以配置到配置文件
        //只有本地启动才有接口文档
        String os = System.getProperties().getProperty("os.name");
        if(os.contains("Windows")){show=true;}
        return new Docket(DocumentationType.SWAGGER_2).enable(show)
                .directModelSubstitute(TaskPO.class, String.class)
                .directModelSubstitute(TaskStatus.class, String.class)
                .apiInfo(apiInfo())
                .host("localhost")
                .globalOperationParameters(parameters())
                .select()
                //Swagger UI默认显示所有接口
                .apis(RequestHandlerSelectors.basePackage("com.peony.electric.server"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                // 设置页面标题
                .title("api接口文档")
                // 设置联系人
                .contact(new Contact("暂无name", "暂无url", "暂无email"))
                // 描述
                .description("欢迎访问接口文档,这里是描述信息")
                // 定义版本号
                .version("1.0")
                .build();
    }

    /**
     * 全局参数
     *
     * @return List<Parameter>
     */
    private List<Parameter> parameters() {
        List<Parameter> params = new ArrayList<>();
        params.add(new ParameterBuilder()
                .name("token")
                .description("认证令牌,登录外其他接口必填")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .required(false)
                .build());
        params.add(new ParameterBuilder()
        .name("imei")
        .description("APP端需传入设备的imei")
                .modelRef(new ModelRef("string"))
                .parameterType("header")
                .required(false)
                .build());
        return params;
    }
}
复制代码

 

       params.add(new ParameterBuilder().name("ZCCJ_2022")
                .description("")
                .modelRef(new ModelRef("string"))
                .parameterType("query").required(false).defaultValue("ZCCJ_2022")
                .build());

 

posted @   笑~笑  阅读(1211)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2021-06-01 idea搜索,idea搜索jar包里面的方法(注意:需要下载了源文件以后才可以搜索到)
点击右上角即可分享
微信分享提示