Spring Boot 项目集成 Swagger 实例文档

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 配置

猜你喜欢

转载自blog.csdn.net/xiangwang2016/article/details/105009373