首页 > 其他分享 >整合SwaggerUI3.0⽣成⽂档

整合SwaggerUI3.0⽣成⽂档

时间:2022-09-27 21:57:28浏览次数:52  
标签:return parameters SwaggerUI3.0 apiInfo 文档 build 整合 new

引入依赖

<!--swagger ui接口文档依赖-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
</dependency>

SwaggerConfiguration配置类开发

@Component
@Data
@EnableOpenApi
public class SwaggerConfiguration {

    /**
     * 对C端用户的接口文档
     *
     * @return
     */
    @Bean
    public Docket webApiDoc() {

        return new Docket(DocumentationType.OAS_30)
                .groupName("用户端接口文档")
                .pathMapping("/")

                //定义是否开启Swagger,false是关闭,可以通过变量去控制,线上关闭
                .enable(true)

                //配置文档的元信息
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("net.xdclass"))
                //正则匹配请求路径,并分配到当前项目组
                .paths(PathSelectors.ant("/api/**"))
                .build()
                // 新版SwaggerUI3.0
                .globalRequestParameters(globalReqeustParameters())
                .globalResponses(HttpMethod.GET,getGlabalResponseMessage())
                .globalResponses(HttpMethod.POST,getGlabalResponseMessage());


    }


    /**
     * 对管理端的接口文档
     *
     * @return
     */
    @Bean
    public Docket adminApiDoc() {

        return new Docket(DocumentationType.OAS_30)
                .groupName("管理端接口文档")
                .pathMapping("/")

                //定义是否开启Swagger,false是关闭,可以通过变量去控制,线上关闭
                .enable(true)

                //配置文档的元信息
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("net.xdclass"))
                //正则匹配请求路径,并分配到当前项目组
                .paths(PathSelectors.ant("/admin/**"))
                .build();
    }


    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("1024电商平台")
                .description("微服务接口文档")
                .contact(new Contact("blingbling_jy", "https://xdclass.net", "[email protected]"))
                .version("v1.0")
                .build();
    }


    /**
     * 配置全局通用参数
     *
     * @return
     */
    private List<RequestParameter> globalReqeustParameters() {

        List<RequestParameter> parameters = new ArrayList<>();
        parameters.add(new RequestParameterBuilder()
                .name("token")
                .description("登录令牌")
                .in(ParameterType.HEADER)
                .query(q -> q.model(m -> m.scalarModel(ScalarType.STRING)))
                .required(false)
                .build());

//        parameters.add(new RequestParameterBuilder()
//                .name("token2")
//                .description("登录令牌")
//                .in(ParameterType.HEADER)
//                .query(q -> q.model(m -> m.scalarModel(ScalarType.STRING)))
//                .required(false)
//                .build());

        return parameters;

    }


    /**
     * 生成通用的响应信息
     */

    private List<Response> getGlabalResponseMessage() {

        List<Response> list = new ArrayList<>();
        list.add(new ResponseBuilder()
                .code("4xx")
                .description("请求错误,根据code和msg检查")
                .build());

        return list;
    }
}

配置接⼝⽂档

访问地址

http://localhost:9001/swagger-ui/index.html#/

标签:return,parameters,SwaggerUI3.0,apiInfo,文档,build,整合,new
From: https://www.cnblogs.com/isChenJY/p/16736157.html

相关文章

  • Swoole实战之手撸HttpServer框架 20 ORM整合2 注解2 切换数据源
    1反射原理的梳理1.1BeanFactory属性注解seckill\pro\core\BeanFactory.phpprivatestaticfunctionhandlerPropAnno(&$instance,\ReflectionClass$refClass,Ann......
  • 整合第三方缓存EHCache
    a>添加依赖<!--MybatisEHCache整合包--><dependency><groupId>org.mybatis.caches</groupId><artifactId>mybatis-ehcache</artifactId><version>1.2.1</version>......
  • SpringBoot整合Kafka工具类
    pom.xml<dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</ve......
  • UI测试报告jenkens整合
    (一)在本地整合出报告1.在cmd分别安装pytest和allure-pytestpip3installpytestpipinstallallure-pytest需要allure结合pytest才可以生成很漂亮的测试报告2.进入需要......
  • VUE2整合markdown
    下载node.js官网检查安装完成之后的版本信息安装vue环境安装淘宝镜像:npminstall-gcnpm--registry=https://registry.npm.taobao.org安装vue-cli脚手架c......
  • 10、整合Mybatis框架
    mybatis中文文档:https://blog.csdn.net/qq_41182402/article/details/121281405UserMapper.xmlsql语句点击查看代码<?xmlversion="1.0"encoding="UTF-8"?><!DOC......
  • 微服务系列之Api文档 swagger整合
    1.前言微服务架构随之而来的前后端彻底分离,且服务众多,无论是前后端对接亦或是产品、运营翻看,一个现代化、规范化、可视化、可尝试的文档是多么重要,所以我们这节就说说......
  • springBoot整合elk
    使用docker-compose部署elk准备docker-compose.yml文件[root@192mall-elk]#pwd/root/docker/mall-elk[root@192mall-elk]#vimdocker-compose.yml内容如下:versi......
  • Spring MVC框架:第十五章:多IOC容器整合
    多IOC容器整合SSM整合方式Spring、SpringMVC、MyBatisSpringMVC的核心Servlet会启动一个IOC容器,而ContextLoaderListener也会启动一个IOC容器。web.xml<?xmlversion......
  • 分布式框架Dubbo整合分布式服务协同框架Zookeeper
    一、创建Maven工程(基础结构)  二、父工程导包(子工程可以调用)  三、创建三台Zookeeper进群   四、配置文件写配置连接Zookeeper  五、通过Zookeepe......