<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>
@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.basePackage("cn.niit.controller")) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("Spring Boot中使用Swagger2") .description("首次嘗試自動生成api文檔爲後期的先後端分離開發作準備") .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923") .contact("WEN") .version("1.0") .build(); } }
實體類User.javajavascript
@Data @AllArgsConstructor @NoArgsConstructor public class User { public User(String userName, String password) { this.userName = userName; this.password = password; } private Integer id; private String userName; private String password; }
新建一個控制類UserController.java,類下有個方法getAllUserhtml
@RestController @Api(description = "用戶管理") @RequestMapping(value = "/hello",produces = APPLICATION_JSON_VALUE) public class UserController { List<User>lists=new ArrayList<>(); @GetMapping(value ="getAllUser" ) @ApiOperation(value = "用戶列表",notes = "查詢全部已註冊過的用戶詳細信息") public List<User> getAllUser() { lists.add(new User("wen","999")); lists.add(new User(2,"qian","666")); return lists; } }
@PostMapping(value = "addUser") public User addUser(User user) { return user; }
實體類User.java的屬性上添加以下註解java
@ApiModelProperty(value = "用戶ID") private Integer id; @ApiModelProperty(value = "用戶名") private String userName; @ApiModelProperty(value = "密碼") private String password;
建立用戶時有些字段咱們並不須要,能夠加入以下註解git
@ApiModelProperty(hidden = true)
@GetMapping(value = "getUserById/{id}") public User getUserById(@ApiParam(value = "用戶ID")@PathVariable(value = "id")String id) { return new User(id,"步驚雲","passwordjava"); }
在swagger相關的jar包github
![]()
把META-INF這個包複製到你當前項目的resources目錄下
這些是關鍵,剩下多餘的包可自行刪除web
在swagger-ui.html的<head>部分添加以下代碼spring
<!--國際化操做:選擇中文版 --> <script src='webjars/springfox-swagger-ui/lang/translator.js' type='text/javascript'></script> <script src='webjars/springfox-swagger-ui/lang/zh-cn.js' type='text/javascript'></script>
漢化完成,咱們也能夠在zh_cn.js中自定義中文名稱後端
另外一種生成文檔的方式請參見api