是什麼
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}接口的測試。