swagger-ui 美化版


簡介

Swagger UI允許任何人(無論您是開發團隊還是用戶)都可以可視化API資源並與之交互,而無需任何實現邏輯。它是根據您的OpenAPI(以前稱為Swagger)規范自動生成的,具有可視化文檔,可簡化后端實現和客戶端使用,號稱世界上最流行的API框架。

特點

  • 人性化 允許最終開發人員輕松地進行交互,並嘗試API公開的每個操作,以方便使用
  • 通過完整的源代碼訪問方式以所需方式設置和調整Swagger UI。
  • 所有瀏覽器支持 Swagger UI 在所有主要瀏覽器中均可使用。
  • 易於瀏覽 歸類整齊的文檔可快速查找並使用資源和端點。

使用SwaggerUI

  • 打開idea 新建boot項目 並編寫controller測試是否成功

  • 導入swaage maven文件

    <!-- swagger2 -->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>2.6.1</version>
            </dependency>
    
    
         <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>2.6.1</version>
            </dependency>
    
    
  • 配置swaager配置文件

     @Configuration 
    @EnableSwagger2  //開啟swagger2
    public class SwaggerConfig {
    

    }

瀏覽器打開 http://localhost/swagger-ui.html

image-20200704091244041

Swagger配置掃描接口

/**
 * @author zc
 * @explain
 * @date 2020/4/8 14:31
 */
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.pay.controller"))//掃描地址
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("系統")
                .description("系統api文檔")
                .version("1.0")
                .build();
    }

再次打開http://localhost/swagger-ui.html即可看見全部的接口

常用注解

/**
 @Api:修飾整個類,描述Controller的作用
 @ApiOperation:描述一個類的一個方法,或者說一個接口
 @ApiParam:單個參數描述
 @ApiModel:用對象來接收參數
 @ApiProperty:用對象接收參數時,描述對象的一個字段
 @ApiResponse:HTTP響應其中1個描述
 @ApiResponses:HTTP響應整體描述
 @ApiIgnore:使用該注解忽略這個API
 @ApiError :發生錯誤返回的信息
 @ApiImplicitParam:一個請求參數
 @ApiImplicitParams:多個請求參數
 */

實例

@PostMapping("/studentSave")
@ApiOperation(value = "保存學生信息")
@ApiResponses({
       @ApiResponse(code = 0, message = "保存成功"),
       @ApiResponse(code = 1, message = "保存失敗")
})
public Result save(
         @ApiParam(value = "保存學生參數", example = "")
         @RequestBody Student student) {
     return new FrontResult(Result.SUCCEED, "保存成功", studentDao.save(student));
}
@Data
@ApiModel(description = "學生信息保存請求對象")
public class Student {
    @ApiModelProperty(value = "學生編號")
    private Long id;
    @ApiModelProperty(value = "姓名", required = true,position = 1)
    private String name;
    @ApiModelProperty(value = "性別", required = true,position = 2)
    private String sex;
    @ApiModelProperty(value = "生日", required = true,position = 3)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Timestamp birthday;
}

美化swaager

  1. 添加依賴

            <dependency>
                <groupId>com.github.xiaoymin</groupId>
                <artifactId>swagger-bootstrap-ui</artifactId>
                <version>1.9.6</version>
            </dependency>
    
  2. 打開鏈接 http://localhost/doc.html

image-20200704095457414

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM