自己的笔记Swagger2在spring-boot中的使用

一、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-swagger2和springfox-swagger-ui的版本必须要一致,否则会出现(我也不知道的问题哦)

二、常用注解

  1. @Api(tags="xxx") 写在Controller头上,可以理解为给Controller起个名。
  2. @ApiOperation("xxx") 写在方法的头上,可以理解为给方法起个名。
  3. @ApiImplicitParams

({

@ApiImplicitParam(name="xxx",value="xxx",required=true,dataType="String",paramType="query")

})

其中,name和传入参数的名字对应,value是参数的描述,后面的是必填,参数类型,操作类型,所以,这种注解一般在使用@RequestParam注解方式传参时使用。

4. @ApiModel(description="xxx") 写在实体类的头上,可以理解为给实体类起个名。

5. @ApiModelProperty(value = "xxx",required=true) 写在实体类中每个属性的头上,可以理解为给每个属性起个名。

三、SwaggerConfig文件的配置:(附上代码)

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
                .apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder().title("标题名字")
                .description("描述")
                .version("1.0").build();
    }
}
经验分享 程序员 微信小程序 职场和发展