javascript
springfox源码_Spring boot整合Springfox在线生成restful的api doc
Springfox是什么,有什么用?
Springfox基于Swagger,能更方便的集成到spring boot 中,Swagger 是一個(gè)規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化 RESTful 風(fēng)格的 Web 服務(wù)。Swagger的目標(biāo)是對(duì)REST API定義一個(gè)標(biāo)準(zhǔn)的和語(yǔ)言無(wú)關(guān)的接口,可讓人和計(jì)算機(jī)無(wú)需訪問(wèn)源碼、文檔或網(wǎng)絡(luò)流量監(jiān)測(cè)就可以發(fā)現(xiàn)和理解服務(wù)的能力。當(dāng)通過(guò)Swagger進(jìn)行正確定義,用戶可以理解遠(yuǎn)程服務(wù)并使用最少實(shí)現(xiàn)邏輯與遠(yuǎn)程服務(wù)進(jìn)行交互。與為底層編程所實(shí)現(xiàn)的接口類(lèi)似,Swagger消除了調(diào)用服務(wù)時(shí)可能會(huì)有的猜測(cè)。
Springfox的依賴(lài)
io.springfox
springfox-swagger2
2.4.0
io.springfox
springfox-swagger-ui
2.4.0
Springfox的配置
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket demoApi() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("demo")
.genericModelSubstitutes(DeferredResult.class)
.useDefaultResponseMessages(false)
.forCodeGeneration(false)
//.pathMapping("/") //根路徑
.select()
.paths(PathSelectors.regex("/user/.*"))//篩選展示的接口,使用PathSelectors.any(),展示所有接口
.build()
.apiInfo(demoApiInfo())
;
}
//api信息
private ApiInfo demoApiInfo() {
ApiInfo apiInfo = new ApiInfo("自己平臺(tái)的api",//大標(biāo)題
"swagger搭建api平臺(tái)",//小標(biāo)題
"1.0",//版本
"NO terms of service",
"632104866@qq.com",//作者
"這是我的技術(shù)博客站點(diǎn)",//鏈接顯示文字
"http://www.kailing.pub"//網(wǎng)站鏈接
);
return apiInfo;
}
}
測(cè)試的Controll
@RestController
@RequestMapping("/user")
public class SwaggerDemoController {
@RequestMapping(value = "/demo2",method = RequestMethod.POST)
@ApiOperation(value="測(cè)試接口1", notes="測(cè)試接口詳細(xì)描述")
@ResponseBody
ModelMap getDemo(@RequestBody User user) {
ModelMap map = new ModelMap();
map.addAttribute("userId", 111);
map.addAttribute("userName", "kl博客");
return map;
}
@ResponseBody
@RequestMapping(value = "/demo3", method = RequestMethod.POST)
@ApiOperation(value="測(cè)試接口2", notes="測(cè)試接口詳細(xì)描述",code = 200,produces = "application/json")
public ModelMap getDemoa(@RequestParam("name") String demoName, @RequestParam String content) {
ModelMap map = new ModelMap();
map.addAttribute("result",demoName + "AAA");
return map;
}
@ResponseBody
@ApiIgnore //使用這個(gè)注解忽略這個(gè)接口
@RequestMapping(value = "/demo4", method = RequestMethod.POST)
public ModelMap getDemob(@RequestParam String content) {
ModelMap map = new ModelMap();
map.addAttribute("result",new java.util.Date());
return map;
}
}
在瀏覽器輸入http://localhost:8080/swagger-ui.html,可查看是否整合成功
至此我們的額api在線文檔整合完成了,下面是效果圖
總結(jié)
以上是生活随笔為你收集整理的springfox源码_Spring boot整合Springfox在线生成restful的api doc的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unity3d优化总结2
- 下一篇: gradle idea java ssm