前言
在平時(shí)的開發(fā)過程中,都會(huì)進(jìn)行前后端的聯(lián)調(diào),如果后端Api接口寫好了之后直接與前端頁面進(jìn)調(diào)試的話,效果會(huì)更好族操,但是為了提高效率,一般會(huì)通過一些測試工具提前來測試功能是否實(shí)現(xiàn),比如postman色难、jmeter泼舱、loadrunner等,下面介紹一種用起來比以上工具更方便的工具Swagger枷莉。Swagger是一種通用的娇昙、和編程語言無關(guān)的API的描述規(guī)范,它是一個(gè)很好的對前后端分離項(xiàng)目進(jìn)行對接的工具笤妙,通過swagger冒掌,后端開發(fā)人員可以很好的對自己寫的API接口進(jìn)行測試,前端開發(fā)人員更方便的了解接口的類型蹲盘,以及接口的url股毫,并且清楚后端需要的參數(shù)值等等,大大提高項(xiàng)目的開發(fā)效率召衔。
基于springBoot使用Swagger
1铃诬、在pom.xml文件中引入依賴
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
第一個(gè)依賴引入swagger的api,第二個(gè)依賴是對swagger訪問界面進(jìn)行ui美化
2苍凛、添加Swagger配置類
一般為了規(guī)范趣席,在項(xiàng)目路徑下建一個(gè)放置配置類文件的config包,然后在此包下面寫Swagger配置文件醇蝴,內(nèi)容如下:
//說明該類為配置類宣肚,即把該類作為spring的xml配置文件中的bean
@Configuration
//啟動(dòng)swagger
@EnableSwagger2
//自動(dòng)掃描,該注解會(huì)掃描指定路徑下的所有的配置悠栓,默認(rèn)掃描該類所在包下面的所有配置文件
@ComponentScan("com.hand.springboot")
public class SwaggerApiConfig {
/*
* 創(chuàng)建API應(yīng)用
* apiInfo() 增加API相關(guān)信息
* select() 選擇哪些路徑和api會(huì)生成document
* apis() 對所有api進(jìn)行監(jiān)控
* paths() 對所有路徑進(jìn)行監(jiān)控
*/
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.hand.springboot.controller"))
.paths(PathSelectors.any())
.build();
}
/*
* 創(chuàng)建該API的基本信息
* title:訪問界面的標(biāo)題
* description:描述
* version:版本號
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("歡迎使用Swagger測試")
.description("基于SpringBoot實(shí)現(xiàn)簡單的學(xué)生信息的處理")
.version("1.0")
.license("version1.0")
.build();
}
}
一般經(jīng)過上面兩步操作霉涨,swagger就配置好了,下面就是寫api接口的事情了惭适,寫好之后通過url進(jìn)行訪問
3嵌纲、controller控制層使用
@RestController
@RequestMapping("/student")
public class StudentController {
@Autowired
private IStudentService studentService;
/**
* 學(xué)生信息添加
* @param code 學(xué)生編號
* @param name 學(xué)會(huì)姓名
* @return
*/
@ApiImplicitParams({
@ApiImplicitParam(name = "code", value = "學(xué)生編號", paramType = "query"),
@ApiImplicitParam(name = "name", value = "學(xué)會(huì)姓名", paramType = "query")
})
@ApiOperation(value = "添加")
@PostMapping("/add")
private String addStudent(@RequestParam(required = false) String code, @RequestParam(required = false) String name) {
studentService.addStu(code,name);
return "add success";
}
}
4、Swagger ui界面訪問
本地啟動(dòng)項(xiàng)目訪問地址:http://127.0.0.1:8080/swagger-ui.html
界面如下:
新增接口測試:
一般開發(fā)過程中為了開發(fā)和測試的方便腥沽,需要合理使用一些注解來提高效率,注解的使用請查看:http://www.reibang.com/p/296d77fac00d