Swagger
在 Spring Boot 项目中使用 Swagger 文档
lombok注解介绍
lombok注解文档
项目界面预览
请求地址
http://localhost:8080/swagger-ui.html#
添加 Swagger 依赖
<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
文档信息配置
- Springfox 提供了一个 Docket 对象,让我们可以灵活的配置 Swagger 的各项属性。
@Configuration
是告诉 Spring Boot 需要加载这个配置类.@EnableSwagger2
是启用 Swagger2,如果没加的话自然而然也就看不到后面的验证效果了。@Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build() .apiInfo(apiInfo()); } private ApiInfo apiInfo() { return new ApiInfo( "Spring Boot 项目集成 Swagger 实例文档", "我的博客网站:https://blog.csdn.net/xiangwang2016,欢迎大家访问。", "API V1.0", "Terms of service", new Contact("我的播客", "https://blog.csdn.net/xiangwang2016", "[email protected]"), "Apache", "http://www.apache.org/", Collections.emptyList()); } }
编写测试接口
@Api(tags = "用户相关接口", description = "提供用户相关的 Rest API") @RestController @RequestMapping("/user") public class UserController { @ApiOperation("新增用户接口") @PostMapping("/add") public boolean addUser(@RequestBody People p) { return false; } @ApiOperation("获取用户接口") @GetMapping("/find/{id}") public People findById(@PathVariable("id") int id) { return new People("jack","北京"); } @ApiOperation("更新用户接口") @PutMapping("/update") public boolean update(@RequestBody People p) { return true; } @ApiOperation("删除用户接口") @DeleteMapping("/delete/{id}") public boolean delete(@PathVariable("id") int id) { return true; } }
新建所用到的Bean实体
lombok注解:@Data //getter setter、@NoArgsConstructor //无参构造、@AllArgsConstructor //有参构造
@Data //getter setter @NoArgsConstructor //无参构造 @AllArgsConstructor //有参构造 @ApiModel("用户实体") public class People implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = "用户name") private String name; @ApiModelProperty(value = "用户 address") private String address; }
启动类
- @EnableScheduling 、@EnableCaching 用于redis 支持
@SpringBootApplication @EnableScheduling @EnableCaching // @EnableScheduling 、@EnableCaching 用于redis 支持 public class DemospringbootApplication { public static void main(String[] args) { SpringApplication.run(DemospringbootApplication.class, args); } }
PS
Spring Boot redis 配置