在Sping開發(fā)REST接口服務(wù)時(shí),API文檔是不可缺少的一個(gè)重要部分。Swagger框架定義了完整的REST接口文檔規(guī)范,提供了強(qiáng)大的頁面測試功能,能夠調(diào)試和可視化API接口服務(wù),并且將文檔融合到代碼中,讓維護(hù)文檔和修改代碼整合為一體,使得修改代碼邏輯的同時(shí)方便的修改文檔說明。
創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),壽縣企業(yè)網(wǎng)站建設(shè),壽縣品牌網(wǎng)站建設(shè),網(wǎng)站定制,壽縣網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,壽縣網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
Spring集成Swagger只需3步配置,就能在線生成接口文檔,調(diào)試API功能。
代碼文件 | 功能要點(diǎn) | |
SpringBoot集成Swagger | pom.xml | 引入Swagger依賴:springfox-swagger2,springfox-swagger-ui |
SwaggerConfig.java | 配置Swagger信息和掃描包路徑 | |
可以使用Swagger注解增加API文檔 | @Api(tags={“xxx”}) @ApiOperation(“xxx”) @ApiParam(“xxx”) ...... | |
Swagger自動(dòng)生成接口文檔 | http://localhost:8011/swagger-ui.html | 頁面可調(diào)用API,功能調(diào)試 |
l?代碼
Github下載:https://github.com/jextop/StarterApi/
l?SpringBoot集成Swagger
1.?在pom.xml中添加Swagger依賴
????
????
????
????
????
????
2.?添加SwaggerConfig.java,配置文檔信息和掃描包路徑
@Configuration
@EnableSwagger2
public classSwaggerConfig {
????@Bean
????publicDocketdocket() {
????????return newDocket(DocumentationType.SWAGGER_2)
????????????????.apiInfo(apiInfo())
????????????????.select()
????????????????.apis(RequestHandlerSelectors.basePackage("com.starter"))
????????????????.paths(PathSelectors.any())
????????????????.build();
????}
????privateApiInfoapiInfo() {
????????return newApiInfoBuilder()
????????????????.title("SpringBoot搭建分布式Web服務(wù)腳手架")
????????????????.license("Github開源項(xiàng)目")
????????????????.licenseUrl("https://github.com/jextop")
????????????????.build();
????}
}
3.?(可選)代碼中引用Swagger注解,增加接口文檔。
- 不添加這些注解時(shí),Swagger自動(dòng)生成在線文檔將使用默認(rèn)信息。
- 修改代碼功能邏輯時(shí),同時(shí)維護(hù)文檔信息。
@Api(tags= {"用戶管理"})
@RestController
@RequestMapping("/")
public classSecurityController {
????@ApiOperation("用戶登錄")
????@GetMapping(value="/login")
????publicObjectlogin(
????????????@RequestParam(required=false) String username,
????????????@ApiParam("密碼計(jì)算公式:md5(b64(username + password)")@RequestParam(required=false) String password
????) {
????????//todo
????}
}
l?啟動(dòng)Spring項(xiàng)目,打開文檔頁面
1.?http://localhost:8011/swagger-ui.html
?
2.?展開API信息,點(diǎn)擊按鈕”Try it out!”,調(diào)試接口功能。