1

引入依赖

<dependency>  
   <groupId>io.springfox</groupId>  
   <artifactId>springfox-swagger2</artifactId>  
   <version>2.2.2</version>  
</dependency>  
<dependency>  
   <groupId>io.springfox</groupId>  
   <artifactId>springfox-swagger-ui</artifactId>  
   <version>2.2.2</version>  
</dependency\>

编写swagger的配置类

@Configuration  
@EnableSwagger2  
public class SwaggerConfig {  
  
    @Bean  
  public Docket createRestApi() {  
        return new Docket(DocumentationType.SWAGGER_2)  
                // 指定构建 API 文档的详细信息的方法:apiInfo()  
  .apiInfo(apiInfo())  
                .select()  
                // 指定要生成 API 接口的包路径,这里把 Controller 作为包路径,生成 Controller 中的所有接口  
  .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))  
                .paths(PathSelectors.any())  
                .build();  
    }  
  
    /**  
 * 构建 API 文档的详细信息 * @return  
  */  
  private ApiInfo apiInfo() {  
        return new ApiInfoBuilder()  
                // 设置页面标题  
  .title("swagger接口")  
                // 设置接口描述  
  .description("接口列表")  
                // 设置联系方式  
  .contact("10000")  
                // 设置版本  
  .version("1.0")  
                // 构建  
  .build();  
    }  
}

在启动类上加上
@EnableSwagger2

此时启动程序时,会出现报错:
QQ图片20200121111657.png
这是因为版本号的问题,将swagger的版本提升到2.9.2就没问题了

swagger的使用

swagger最常用的5个注解

  • @ApiModel 注解用于实体类,表示对类进行说明,用于参数用实体类接收。
  • @ApiModelProperty 注解用于类中属性,表示对 Model 属性的说明或者数据操作更改。
  • @Api 注解用于类上,表示标识这个类是 Swagger 的资源。
  • @ApiOperation 注解用于方法,表示一个 HTTP 请求的操作。
  • @ApiParam 注解用于参数上,用来标明参数信息。

1、在实体类上加上@ApiModel和@ApiModelProperty注解

@ApiModel(value="学生类")  
public class Student {  
  
    @ApiModelProperty(value="学生ID")  
    private Integer id;  
  
    @ApiModelProperty(value="学生姓名")  
    private String username;  
  
    @ApiModelProperty(value="学生密码")  
    private String password;
    
    //省略getter和setter
}

2、在controller上加上注解

@RestController  

@RequestMapping("/json")  

@Api(value="swagger2接口文档")  

public class Hello {  

    @RequestMapping("/user/{id}")  

    @ApiOperation(value="根据用户id来查询")  

    public String userId(@PathVariable @ApiParam(value="用户ID") Integer id){  

        System.out.println("获取到的id为:" + id );  

        return "success";  

    }

在浏览器中输入http://localhost:8082/swagger-ui.html就可看到swagger信息


stray
129 声望10 粉丝

引用和评论

0 条评论