您好,登錄后才能下訂單哦!
在Sping開發REST接口服務時,API文檔是不可缺少的一個重要部分。Swagger框架定義了完整的REST接口文檔規范,提供了強大的頁面測試功能,能夠調試和可視化API接口服務,并且將文檔融合到代碼中,讓維護文檔和修改代碼整合為一體,使得修改代碼邏輯的同時方便的修改文檔說明。
Spring集成Swagger只需3步配置,就能在線生成接口文檔,調試API功能。
代碼文件 | 功能要點 | |
SpringBoot集成Swagger | pom.xml | 引入Swagger依賴:springfox-swagger2, springfox-swagger-ui |
SwaggerConfig.java | 配置Swagger信息和掃描包路徑 | |
可以使用Swagger注解增加API文檔 | @Api(tags={“xxx”}) @ApiOperation(“xxx”) @ApiParam(“xxx”) ...... | |
Swagger自動生成接口文檔 | http://localhost:8011/swagger-ui.html | 頁面可調用API,功能調試 |
l?代碼
Github下載:https://github.com/jextop/StarterApi/
l?SpringBoot集成Swagger
1.?在pom.xml中添加Swagger依賴
<dependency>
????<groupId>io.springfox</groupId>
????<artifactId>springfox-swagger-ui</artifactId>
????<version>2.7.0</version>
</dependency>
<dependency>
????<groupId>io.springfox</groupId>
????<artifactId>springfox-swagger2</artifactId>
????<version>2.7.0</version>
</dependency>
2.?添加SwaggerConfig.java,配置文檔信息和掃描包路徑
@Configuration
@EnableSwagger2
public class SwaggerConfig {
????@Bean
????public Docket docket() {
????????return new Docket(DocumentationType.SWAGGER_2)
????????????????.apiInfo(apiInfo())
????????????????.select()
????????????????.apis(RequestHandlerSelectors.basePackage("com.starter"))
????????????????.paths(PathSelectors.any())
????????????????.build();
????}
????private ApiInfo apiInfo() {
????????return new ApiInfoBuilder()
????????????????.title("SpringBoot搭建分布式Web服務腳手架")
????????????????.license("Github開源項目")
????????????????.licenseUrl("https://github.com/jextop")
????????????????.build();
????}
}
3.?(可選)代碼中引用Swagger注解,增加接口文檔。
- 不添加這些注解時,Swagger自動生成在線文檔將使用默認信息。
- 修改代碼功能邏輯時,同時維護文檔信息。
@Api(tags = {"用戶管理"})
@RestController
@RequestMapping("/")
public class SecurityController {
????@ApiOperation("用戶登錄")
????@GetMapping(value = "/login")
????public Object login(
????????????@RequestParam(required = false) String username,
????????????@ApiParam("密碼計算公式:md5(b64(username + password)") @RequestParam(required = false) String password
????) {
????????// todo
????}
}
l?啟動Spring項目,打開文檔頁面
1.?http://localhost:8011/swagger-ui.html
?
2.?展開API信息,點擊按鈕”Try it out!”,調試接口功能。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。