Swagger2
swagger2 用来生产Api文档
1.pom.xml配置
<!-- swagger2 Api文档-->
<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>
2.swagger配置类
@Configuration
@EnableSwagger2
public class swagger2 {
private ApiInfo apiInfo(){
return new ApiInfoBuilder()
.title("Api 文档")
.version("1.0")
.build();
}
@Bean
public Docket createRestApi(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("org.example.sb2.controller"))
.paths(PathSelectors.any())
.build();
}
}
3 注解使用
3.1.@Api
@Api(tags = "用户模块")//用在类上 说明类的作用
3.2.@ApiOperation
@ApiOperation(value = "查询用户", notes = "备注")//用在方法上说明方法作用 value为描述 notes为备注
3.3.@ApiImplicitParams
用在请求的方法上,包含组参数说明
@ApiImplicitParam:用在@ApiImplicitParams 注解中,指定一个请求参数的配置信息
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方
- header -->请求参数的获取: @RequestHeader
- query --> 请求参数的获职: @Requestparam
- path (用于restfu1接口) -->请求参数的获取: @Pathvariable
- body (不常用)
- form (不常用)
dataType:参数类型,默认string,其它值dataType=" Integer"
defaultvalue:参数的默认值
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "用户id", required = true,
paramType = "path")
})
3.4.@ApiResponses 用于请求的方法上,表示一组响应
@ApiResponse:用在QApiResponses中,一般用于表达一个错误的响应信息
code:数字,例如400
message:信息,例如"请求参数没填好”
response:抛出异常的类
@ApiResponses({
@ApiResponse(code = 400, message = "错误")
})
3.5.@ApiModel:用于响应类上,表示一个返回响应数据的信息
(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
@ApiModelProperty:用在属性上,描述响应类的属性
@ApiModel(description = "用户实体")
public class User {
@ApiModelProperty(value = "用户id")
private int id;
@ApiModelProperty(value = "用户名")
private String name;
@ApiModelProperty(value = "用户密码")
private String password;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律