Swagger2依賴
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.7.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.7.0</version> </dependency>
在使用時,發現2.7.2的比較好用,2.2.2的可能報錯
配置文件
@Configuration @EnableSwagger2 //開啟在線文檔 public class SwaggerConfig { //1.聲明api 文檔的屬性 構建起 private ApiInfo apiInfo() { return new ApiInfoBuilder().title("springboot使用在線文檔構建RestFul風格Api") .description("bug猿") .termsOfServiceUrl("http://cnblogs.com/") .contact("java").version("1.0").build(); } //2配置核心配置信息 public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select().apis(RequestHandlerSelectors.basePackage("com.yuan.springbootdemo.controller")) .paths(PathSelectors.any()).build(); } }
修改Controller增加文檔注釋
@PutMapping("/{id}") @ApiOperation(value = "更新指定id用戶信息",notes = "根據id更新用戶信息") @ApiImplicitParams({ @ApiImplicitParam(name = "id",value = "用戶id",required = true,dataType = "Long"), @ApiImplicitParam(name = "user",value = "用戶詳細實體user",required = true,dataType = "User") }) public String updateUser(@PathVariable("id") Long id,User user) { for (User user2 : listUser) { if(user2.getId()==id) { user2.setName(user.getName()); user2.setAge(user.getAge()); } } return "success"; } //刪除指定id用戶 @DeleteMapping("/{id}") @ApiOperation(value="刪除指定id用戶信息",notes = "根據id刪除") @ApiImplicitParam(name="id",value = "用戶id",required = true,dataType = "Long") public String deleteUser(@PathVariable("id") Long id) { listUser.remove(getUser(id)); return "success"; } }
最后訪問地址:http://localhost:8080/swagger-ui.html