springboot整合swagger的简单实例,让你快速了解swagger

Swagger简介 

Swagger是一款Restful接口的文档在线自动生成+功能测试的软件。
 
Swagger是一个规范和完整的框架。用于生成、描述、调用和可视化Restful风格的Web服务。总体目标是使客户端和文件系统

作为服务器以同样的速度 来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。  

项目目录结构

springboot整合swagger的简单实例,让你快速了解swagger_第1张图片

Springboot整合Swagger

①加入依赖 



    org.springframework.boot
    spring-boot-starter-web



    io.springfox
    springfox-swagger2
    2.7.0


    io.springfox
    springfox-swagger-ui
    2.7.0

② 创建swagger配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket config() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .useDefaultResponseMessages(false)
                .select()
                .apis(RequestHandlerSelectors.basePackage("demo.swagger.controller"))
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2构建RESTful APIs")
                .contact("NGNLzero")
                .version("1.0")
                .build();
    }
}

③ 创建user类

public class User {
    Integer id;
    String name;
    Integer age;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }
}

④ 创建controller类

@Api(description = "user接口")
@Controller
@RequestMapping("/user")
public class UserController {
    @ResponseBody
    @ApiOperation(value = "/user/{id}", notes = "接口描述")
    @RequestMapping(value = "/{id}", method = RequestMethod.GET)
    private User getUserById(
            @ApiParam(name = "id", value = "integer", required = true)
            @PathVariable Integer id) {
        User user = new User();
        user.setId(id);
        user.setName("测试用户");
        user.setAge(20);
        return user;
    }

}

⑤测试

访问:http://localhost:8080/swagger-ui.html

springboot整合swagger的简单实例,让你快速了解swagger_第2张图片

⑥Swagger注解

  • @Api:修饰整个类,描述Controller的作用
  • @ApiOperation:描述一个类的一个方法,或者说一个接口
  • @ApiParam:单个参数描述
  • @ApiModel:用对象来接收参数
  • @ApiProperty:用对象接收参数时,描述对象的一个字段
  • @ApiResponse:HTTP响应其中1个描述
  • @ApiResponses:HTTP响应整体描述
  • @ApiIgnore:使用该注解忽略这个API
  • @ApiError :发生错误返回的信息
  • @ApiImplicitParam:一个请求参数
  • @ApiImplicitParams:多个请求参数

 

 

 

你可能感兴趣的:(SpringBoot)