1、添加依赖:首先要在pom.xml中添加Swagger2的依赖:
<!-- swagger依赖 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <!-- 用于生成在线文档的 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency>
2、描述控制器类:
(1)、创建一个简单的实体类,来存储数据:
public class Book { //属性 private Integer bid; private String bname; private String bprotagonist; private String btype; public Book() { super(); } public Book(Integer bid, String bname, String bprotagonist, String btype) { super(); this.bid = bid; this.bname = bname; this.bprotagonist = bprotagonist; this.btype = btype; } public Integer getBid() { return bid; } public void setBid(Integer bid) { this.bid = bid; } public String getBname() { return bname; } public void setBname(String bname) { this.bname = bname; } public String getBprotagonist() { return bprotagonist; } public void setBprotagonist(String bprotagonist) { this.bprotagonist = bprotagonist; } public String getBtype() { return btype; } public void setBtype(String btype) { this.btype = btype; } @Override public String toString() { return "Book [bid=" + bid + ", bname=" + bname + ", bprotagonist=" + bprotagonist + ", btype=" + btype + "]"; } }
(2)创建一个简单的控制器,来模拟数据展示效果:
/** * 控制器类 */ @RestController public class BookController { /** * 获取所有数据 */ @GetMapping("/get") public List<Book> getBook() { List<Book> books = new ArrayList<>(); books.add(new Book(1, "花园宝宝", "哇卡", "动漫")); books.add(new Book(2, "斗破苍穹", "萧炎", "小说")); books.add(new Book(1, "庆余年", "范闲", "小说")); return books; } /** * 添加 * @param book * @return */ @GetMapping("/add") public Book addBook(Book book) { return book; } }
3、编写Swagger2的配置类,扫描 SpringMVC 控制器:
配置类中的代码大部分都是固定的,但要注意控制器的包名不能写错,复制完后建议使用【CTRL + SHITF + O】快捷键自动引入所需要的包:
/** * Swagger2配置类 */ @Configuration //标注为配置类 @EnableSwagger2 // 用于启动Swagger2 还可以写到App启动类上 public class Swagger2Config { @Bean public Docket createRestApi() { // 扫描控制器中 Swagger2 的注解, .apis里面的参数表示指定包 return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() //控制器的包名 .apis(RequestHandlerSelectors.basePackage("com.szc.controller")) .paths(PathSelectors.any()) .build(); } // API 描述信息 private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("SprignBoot整合sawgger2在线Api文档") //标题 .description("描述文档的信息") //描述 .termsOfServiceUrl("https://baidu.com") //网址 .version("szc_1.0") //版本 .build(); } }
4、在App启动类中启动SpringBoot项目:
5、启动成功后,在浏览器地址栏输入http://localhost:8080/swagger-ui.html,就可以查看到了
点开控制器名,就可以查看里面的方法了
逐层点开方法,还可以查看方法需要的参数或返回的数据