您好,登錄后才能下訂單哦!
首先在pom.xml中添加如下依賴,其它web,lombok等依賴自行添加
<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>
SwaggerConfig.java是swagger2的配置類
@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.java
@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,類下有個方法getAllUser
@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; } }
點擊localhost:8888/swagger-ui.html(我在application.propertise中的server.port=8888)
在類中再添加一個方法addUser
@PostMapping(value = "addUser") public User addUser(User user) { return user; }
實體類User.java的屬性上添加如下注解
@ApiModelProperty(value = "用戶ID") private Integer id; @ApiModelProperty(value = "用戶名") private String userName; @ApiModelProperty(value = "密碼") private String password;
創建用戶時有些字段我們并不需要,可以加入如下注解
@ApiModelProperty(hidden = true)
在類中再添加一個根據用戶id查詢用戶的方法
@GetMapping(value = "getUserById/{id}") public User getUserById(@ApiParam(value = "用戶ID")@PathVariable(value = "id")String id) { return new User(id,"步驚云","passwordjava"); }
漢化成中文文檔
在swagger相關的jar包
把META-INF這個包復制到你當前項目的resources目錄下
這些是關鍵,剩下多余的包可自行刪除
在swagger-ui.html的<head>部分添加如下代碼
<!--國際化操作:選擇中文版 --> <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中自定義中文名稱
另一種生成文檔的方式請參見
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。