天天看點

Swagger2 簡單使用

Swagger2 簡單使用

是什麼

 Swagger可以根據項目代碼自動生成相應的api文檔,協調前後端分離中個子產品的開發。

怎麼做

1、引入依賴

<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.7.0</version>
            <scope>provided </scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.7.0</version>
            <scope>provided </scope>
        </dependency>
           

2、檔案配置

在springboot項目中建立一個SwaggerConfig類用于配置。

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket webApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("dev01")
                .apiInfo(webApiInfo())
                .select()
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();
    }

    private ApiInfo webApiInfo(){
        return new ApiInfoBuilder()
                .title("Swagger入門測試")
                .description("資訊管理系統接口定義")
                .version("1.0")
                .contact(new Contact("JARVIS", "http://127.0.0.1:8080/swagger-ui.html", ""))
                .build();
    }

}
           

3、添加注解

實體類

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "User",description = "使用者對象")
@TableName(value = "t_user")
public class User {

    @TableId(type = IdType.AUTO)
    @ApiModelProperty("使用者ID")
    private Long id;
    @ApiModelProperty("使用者姓名")
    private String name;
    @ApiModelProperty("使用者年齡")
    private Integer age;
    @ApiModelProperty("使用者郵箱")
    private String email;
}
           

Controller

@RestController
@Api(value = "使用者管理",tags = "使用者管理")
public class UserController {
    
    @Autowired
    private UserService userService;

    /**
     * 分頁查詢
     * @return
     */
    @ApiOperation("分頁查詢使用者資訊")
    @GetMapping("page/{page}/{size}")
    public List<User> selectPage(
            @ApiParam(name = "page",value = "目前第幾頁",required = true) @PathVariable Integer page,
            @ApiParam(name = "size",value = "每頁顯示資料條數",required = true) @PathVariable Integer size){
        // Page參數 current ==> 目前第幾頁   size ==> 查詢的資料條數
        Page page1 = new Page(page,size);
        List<User> list = userService.selectPage(page1, null);
        return list;
    }

    @ApiOperation("根據id查詢使用者")
    @GetMapping("user/{id}")
    public User getUserById(@ApiParam(name = "id",value = "使用者id",required = true) @PathVariable Integer id){
        User user = userService.selectById(id);
        return user;
    }

}
           

4、啟動項目

通路 http:127.0.0.1:8080/swagger-ui.html 即可。

下面說明分頁查詢 /page/{page}/{size}接口的測試。

Swagger2 簡單使用
Swagger2 簡單使用
Swagger2 簡單使用