SpringBoot結(jié)合Swagger2自動生成api文檔的方法
首先在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文檔為后期的前后端分離開發(fā)做準(zhǔn)備") .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923") .contact("WEN") .version("1.0") .build(); } }
實(shí)體類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; }
新建一個(gè)控制類UserController.java,類下有個(gè)方法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 = "查詢所有已注冊過的用戶詳細(xì)信息") public List<User> getAllUser() { lists.add(new User("wen","999")); lists.add(new User(2,"qian","666")); return lists; } }
點(diǎn)擊localhost:8888/swagger-ui.html(我在application.propertise中的server.port=8888)
在類中再添加一個(gè)方法addUser
@PostMapping(value = "addUser") public User addUser(User user) { return user; }
實(shí)體類User.java的屬性上添加如下注解
@ApiModelProperty(value = "用戶ID") private Integer id; @ApiModelProperty(value = "用戶名") private String userName; @ApiModelProperty(value = "密碼") private String password;
創(chuàng)建用戶時(shí)有些字段我們并不需要,可以加入如下注解
@ApiModelProperty(hidden = true)
在類中再添加一個(gè)根據(jù)用戶id查詢用戶的方法
@GetMapping(value = "getUserById/{id}") public User getUserById(@ApiParam(value = "用戶ID")@PathVariable(value = "id")String id) { return new User(id,"步驚云","passwordjava"); }
漢化成中文文檔
在swagger相關(guān)的jar包
把META-INF這個(gè)包復(fù)制到你當(dāng)前項(xiàng)目的resources目錄下
這些是關(guān)鍵,剩下多余的包可自行刪除
在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中自定義中文名稱
另一種生成文檔的方式請參見
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java實(shí)現(xiàn)簡易學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡易學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07Mybatis動態(tài)Sql標(biāo)簽使用小結(jié)
本文主要介紹了Mybatis動態(tài)Sql標(biāo)簽使用,常用的動態(tài)sql標(biāo)簽包括?if、choose(when、otherwise)、trim(where、set)、foreach,下面就來介紹一下2024-04-04Java設(shè)計(jì)模式中代理模式應(yīng)用詳解
代理模式(Proxy Parttern)為一個(gè)對象提供一個(gè)替身,來控制這個(gè)對象的訪問,即通過代理對象來訪問目標(biāo)對象。本文將通過示例詳細(xì)講解一下這個(gè)模式,需要的可以參考一下2022-11-11SpringBoot+Mybatis使用Mapper接口注冊的幾種方式
本篇博文中主要介紹是Mapper接口與對應(yīng)的xml文件如何關(guān)聯(lián)的幾種姿勢,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-07-07