专栏名称: pc859107393
高级Java开发工程师
目录
相关文章推荐
昌吉日报  ·  视觉·昌吉|昌吉体育馆,明日精彩继续! ·  2 天前  
昌吉日报  ·  视觉·昌吉|昌吉体育馆,明日精彩继续! ·  2 天前  
FM107太原交通广播  ·  火力全开!山西男篮赛季三杀广东男篮! ·  2 天前  
FM107太原交通广播  ·  火力全开!山西男篮赛季三杀广东男篮! ·  2 天前  
苏群  ·  这场加时,是詹姆斯“抢”来的 ·  3 天前  
野球帝  ·  自家球袜,33元3双! ·  3 天前  
51好读  ›  专栏  ›  pc859107393

SpringBoot2-第二章:完善在线APIDocs

pc859107393  · 掘金  ·  · 2018-05-30 06:41

正文

SpringBoot2-第二章:完善在线APIDocs

上一章我们基本完成了项目框架的搭建,我们目前项目是为了完成一个类似传统网站的单机服务器应用,那么我们接着该做一些什么呢?

本项目的GitHub:https://github.com/pc859107393/Go2SpringBoot.git

有兴趣交流springboot进行快速开发的同学可以加一下下面的企鹅群。

行走的java全栈

实现在线APIDocs

在线ApiDocs是用来做咩的?APIDocs就是对API接口的文档描述形式。可以方便我们在线快速调试接口。注意: swagger并不能帮助我们实现RESTFul接口,只是说能把RESTFul形式的接口信息用页面展示出来。

配置swagger相关设置

首先来讲,我们打开swagger相关的jar包查看一下swagger内部都存在什么些东西,swagger本质是一个在线APIDocs,也就是说我们要先从配置着手,但是我们很早以前分析过springfox相关的配置,在这里我们只需要关注 swagger的资源配置 就好了,如图2.1所示。

图2.1

图2.1 swagger的静态资源

在我们以前的项目配置中,所有的资源都是需要合理的分配才能提供给外部访问,在这里我们也是需要做同样的事情才行。

打开springboot的启动类文件,我这里采用的是kotlin编写的启动文件 BaseApplication.kt 我们具体的操作如下:

@SpringBootApplication
@EnableWebMvc
@EnableSwagger2
@MapperScan(value = ["cn.acheng1314.base.dao"])
@Configuration
class BaseApplication : WebMvcConfigurer {
    
    //在这里添加需要被公开的静态资源
    override fun addResourceHandlers(registry: ResourceHandlerRegistry) {
        //swagger和swagger的第三方皮肤需要被注册
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/")
        registry.addResourceHandler("doc.html")
                .addResourceLocations("classpath:/META-INF/resources/")
        
        //这里是注册的druid的资源
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/")
        
        //这里是注册本程序的静态资源访问目录
        registry.addResourceHandler("/static/**")
                .addResourceLocations("classpath:/static/")
    }
    
    //在这里配置swagger的API分组
    @Bean(name = ["defaultApi"])
    fun createRestApi(): Docket {
        return Docket(DocumentationType.SWAGGER_2)  //Docket,Springfox的私有API设置初始化为Swagger2
                .select()
                //这里指定项目中需要被扫描的Controller的包路径
                .apis(RequestHandlerSelectors.basePackage("cn.acheng1314.base.web"))
                .paths(PathSelectors.any())
                .build()
                .apiInfo(ApiInfoBuilder()   //设置API文档的主体说明
                        .title("acheng的SpringBoot探索之路ApiDocs")
                        .description("acheng的SpringBoot探索之路")
                        .version("v1.01")
                        .termsOfServiceUrl("https://acheng1314.cn/")
                        .build())
                .groupName("默认接口")
    }
    
    //此处省略其他代码······,详情请上我的github项目查看






请到「今天看啥」查看全文