自己學習swagger-ui時。發現生成的文檔不太對。pom.xml 添加依賴
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.5.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.5.0</version> </dependency>
添加代碼
package com.example; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2; @Configuration @EnableSwagger2 public class Swagger2 { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("example REST API文檔") .description("--------------------------------") .termsOfServiceUrl("https://i.cnblogs.com/") .contact("zjf") .version("0.1.1") .build(); } }
controller
package com.example.controller; import com.example.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @Api(value="用戶controller",description="用戶操作",tags={"用戶操作接口"}) @RestController @RequestMapping("/testBoot") public class UserController { @Autowired private UserService userService; @ApiOperation("獲取用戶信息") @RequestMapping("getUser/{id}") public String GetUser(@PathVariable int id){ return userService.Sel(id).toString(); } }
打卡地址 http://localhost:8080/swagger-ui.html
顯示效果
原因修改下controller 方法
package com.example.controller; import com.example.service.UserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @Api(value="用戶controller",description="用戶操作",tags={"用戶操作接口"}) @RestController @RequestMapping("/testBoot") public class UserController { @Autowired private UserService userService; @ApiOperation("獲取用戶信息") @RequestMapping("getUser/{id}") public String GetUser(@PathVariable int id){ return userService.Sel(id).toString(); } @ApiOperation("獲取表是否存在") @GetMapping("/getTable") public int getTable(@ApiParam(name = "tableName", value = "表名", required = true)@RequestParam String tableName){ return userService.isTableExist(tableName); } }
顯示效果