自己的笔记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的版本必须要一致,否则会出现(我也不知道的问题哦)
二、常用注解
- @Api(tags="xxx") 写在Controller头上,可以理解为给Controller起个名。
- @ApiOperation("xxx") 写在方法的头上,可以理解为给方法起个名。
- @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(); } }