swagger用途
swagger是一个接口测试工具,前端程序员和后台程序是分离开发的,当前端程序员需要向后台进行交互,那么就需要一个工具去访问路径。发送一个请求,请求会携带一个或多个参数,然后接口会查看到后台查询到的数据。后台程序员一般都会用postman,这俩是一个意思。swagger还有个好处,就是页面好看。
依赖配置
在父级pom.xml导入依赖,依赖下载真的很慢,还是要耐心等待
<!-- 为了减少程序员撰写文档时间,提高生产力,swagger2应运而生,使用swagger2可以减少编写过多文档, 只要通过代码就能生成文档API,提供前端人员用于测试 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency>
在application.properties中配置访问端口,这个是配置文件,所以放在api模块中
#配置服务端口
server.port=8088
server.tomcat.uri-encoding=utf-8
server.max-http-header-size=80KB
启动类配置扫描包
//启动类09
@SpringBootApplication //扫描所有包
@MapperScan(basePackages = "com.wt.mapper")
@ComponentScan(basePackages = {"com.wt"})
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}
配置swagger接口
启动类和接口的放置地方
package com.wt.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.service.Contact; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class Swagger2 { // 访问路径 //http://localhost:8088/swagger-ui.html 原ui路径 //配置swagger2核心配置 docket @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) //指定api类型为swagger2 .apiInfo(apiInfo())//用于定义api文档汇总信息 .select() .apis(RequestHandlerSelectors.basePackage("com.wt.controller")) //指定controller包 .paths(PathSelectors.any()) //所有controller .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() //接口的信息建造者 .title("裂变平台,接口api") //文档页标题 .contact(new Contact("wt", "http://www.wt.com", "xxxxyyyy@qq.com")) //联系人信息 .description("专为微信裂变平台提供的api文档") //详细信息 .version("1.0.1") //文档版本号 .termsOfServiceUrl("https://www.wt.com") //网站地址 .build(); } }
测试
测试是使用的properties中的端口:http://localhost:8088/swagger-ui.html,如果接口中有传递参数的话,这里也可以传递参数,在后面result可以查看相应的结果