栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot集成Swagger-Bootstrap-UI

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot集成Swagger-Bootstrap-UI

Swagger简介

Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。swagger-bootstrap-ui是基于swagger-ui做了一些优化拓展!

该开源项目GitHub地址:点击这里
该开源项目中文文档地址:点击这里

swagger-ui的界面

swagger-bootstrap-ui界面




相比于原生的swagger-ui,swagger-bootstarp-ui提供了更好的ui界面,以及入参,出参直观的分层;
下面将swagge-bootstrap-ui整合到springboot项目中:

1.导包pom.xml

        
        
            io.springfox
            springfox-swagger2
            2.9.2
        
        
            io.springfox
            springfox-swagger-ui
            2.9.2
        
        
            io.springfox
            springfox-bean-validators
            2.9.2
        
        
        
            com.github.xiaoymin
            swagger-bootstrap-ui
            1.9.3
        
        
        
            io.swagger
            swagger-annotations
            1.5.22
        
        
            io.swagger
            swagger-models
            1.5.22
        

2.加入Swagger2Config配置文件

@Slf4j
@Configuration
@EnableSwagger2
@EnableSwaggerBootstrapUI
public class Swagger2Config implements WebMvcConfigurer {

    
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/meta-INF/resources/");
        registry.addResourceHandler("doc.html").addResourceLocations("classpath:/meta-INF/resources/");
        registry.addResourceHandler("/webjars
    @Bean
    public Docket assist() {
        return new Docket(documentationType.SWAGGER_2)
                .globalOperationParameters(setRequestHeaders())
                //.apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.xxxx.modules.assist.controller"))
                //加了ApiOperation注解的类,才生成接口文档
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build()
                .groupName("帮助中心");
    }
    
    private List setRequestHeaders() {
        ParameterBuilder ticketPar = new ParameterBuilder();
        List pars = new ArrayList();
        ticketPar.name("token").description("用户token")
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(false).build(); //header中的ticket参数非必填,传空也可以
        pars.add(ticketPar.build());      //根据每个方法名也知道当前方法在设置什么参数
        return pars;
    }
}

3.建议在启动类中,直接将swagge-ui文档记录下来

public static void main(String[] args) throws Exception {
        ConfigurableApplicationContext application = SpringApplication.run(StageApplication.class, args);
        Environment env = application.getEnvironment();
        String ip = InetAddress.getLocalHost().getHostAddress();
        String port = env.getProperty("server.port");
        //String path = env.getProperty("server.servlet.context-path");
        String active = env.getProperty("spring.profiles.active");
        String maxFileSize = env.getProperty("spring.servlet.multipart.max-file-size"); //最大文件大小
        String maxRequestSize = env.getProperty("spring.servlet.multipart.max-request-size"); //最大请求大小
        log.info("n----------------------------------------------------------nt" +
                "Application is running! Access URLs:nt" +
                "Doc: tthttp://" + ip + ":" + port + "/doc.htmlnt" +
                "spring-profiles-active: tt" + active + "nt" +
                "max-file-size: tt" + maxFileSize + "nt" +
                "max-request-size: tt" + maxRequestSize + "n" +
                "----------------------------------------------------------");
    }

4.完成,访问地址:http://locahost:8080/doc.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/703420.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号