swagger2 注解整体说明
@Api:用在请求的类上,表示对类的说明 tags="说明该类的作用,可以在UI界面上看到的注解" value="该参数没什么意义,在UI界面上也看到,所以不需要配置" @ApiOperation:用在请求的方法上,说明方法的用途、作用 value="说明方法的用途、作用" notes="方法的备注说明" @ApiImplicitParams:用在请求的方法上,表示一组参数说明 @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面 name:参数名 value:参数的汉字说明、解释 required:参数是否必须传 paramType:参数放在哪个地方 · header --> 请求参数的获取:@RequestHeader · query --> 请求参数的获取:@RequestParam · path(用于restful接口)--> 请求参数的获取:@PathVariable · body(不常用) · form(不常用) dataType:参数类型,默认String,其它值dataType="Integer" defaultValue:参数的默认值 @ApiResponses:用在请求的方法上,表示一组响应 @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息 code:数字,例如400 message:信息,例如"请求参数没填好" response:抛出异常的类 @ApiModel:用于响应类上,表示一个返回响应数据的信息 (这种一般用在post创建的时候,使用@RequestBody这样的场景, 请求参数无法使用@ApiImplicitParam注解进行描述的时候) @ApiModelProperty:用在属性上,描述响应类的属性
1、@Api:用在请求的类上,说明该类的作用
@Api:用在请求的类上,说明该类的作用 tags="说明该类的作用" value="该参数没什么意义,所以不需要配置"
示例:
@Api(tags="APP用户注册Controller")
2、@ApiOperation:用在请求的方法上,说明方法的作用
@ApiOperation:"用在请求的方法上,说明方法的作用" value="说明方法的作用" notes="方法的备注说明"
示例:
@ApiOperation(value="用户注册",notes="手机号、密码都是必输项,年龄随边填,但必须是数字")
3、@ApiImplicitParams:用在请求的方法上,包含一组参数说明
@ApiImplicitParams:用在请求的方法上,包含一组参数说明 @ApiImplicitParam:用在 @ApiImplicitParams 注解中,指定一个请求参数的配置信息 name:参数名 value:参数的汉字说明、解释 required:参数是否必须传 paramType:参数放在哪个地方 · header --> 请求参数的获取:@RequestHeader · query --> 请求参数的获取:@RequestParam · path(用于restful接口)--> 请求参数的获取:@PathVariable · body(不常用) · form(不常用) dataType:参数类型,默认String,其它值dataType="Integer" defaultValue:参数的默认值
示列:
@ApiImplicitParams({ @ApiImplicitParam(name="mobile",value="手机号",required=true,paramType="form"), @ApiImplicitParam(name="password",value="密码",required=true,paramType="form"), @ApiImplicitParam(name="age",value="年龄",required=true,paramType="form",dataType="Integer") })
4、@ApiResponses:用于请求的方法上,表示一组响应
@ApiResponses:用于请求的方法上,表示一组响应 @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息 code:数字,例如400 message:信息,例如"请求参数没填好" response:抛出异常的类
示例:
@ApiOperation(value = "select1请求",notes = "多个参数,多种的查询参数类型") @ApiResponses({ @ApiResponse(code=400,message="请求参数没填好"), @ApiResponse(code=404,message="请求路径没有或页面跳转路径不对") })
5、@ApiModel:用于响应类上,表示一个返回响应数据的信息
@ApiModel:用于响应类上,表示一个返回响应数据的信息 (这种一般用在post创建的时候,使用@RequestBody这样的场景, 请求参数无法使用@ApiImplicitParam注解进行描述的时候) @ApiModelProperty:用在属性上,描述响应类的属性
示例:
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; @ApiModel(description= "返回响应数据") public class RestMessage implements Serializable{ @ApiModelProperty(value = "是否成功") private boolean success=true; @ApiModelProperty(value = "返回对象") private Object data; @ApiModelProperty(value = "错误编号") private Integer errCode; @ApiModelProperty(value = "错误信息") private String message; /* getter/setter */ }
相关推荐
当Swagger2与MyBatis结合时,我们不仅可以自动创建数据访问层,还能通过Swagger2注释生成详细的API说明,这在团队协作和对外提供API时尤其有用。 这个工具可能包含以下功能: 1. **实体类生成**:根据数据库表结构...
### Spring Boot与Swagger2接口注解详解 #### 一、概览 在现代软件开发过程中,尤其是基于微服务架构的应用程序开发中,清晰且规范化的API文档变得尤为重要。Spring Boot结合Swagger2为开发者提供了一种简便高效的...
确保在每个 Controller 类上添加 `@Api` 注解来描述API的整体信息,并在每个处理方法上添加 `@ApiOperation` 注解来说明该方法的功能。同时,不要忘记对方法参数添加 `@ApiParam` 注解,以便 Swagger2 能够识别和...
- 使用Swagger的注解对控制器和方法进行注释,提供详细说明。 5. **使用Swagger2注解**: - `@Api`: 用于标记控制器类,描述该类的API整体信息。 - `@ApiOperation`: 用于标记控制器方法,描述该方法的具体操作。...
集成这三个框架,开发者可以构建一个功能齐全的Web应用程序,其中Spring Boot负责整体项目管理和运行环境,MyBatis处理数据库操作,而Swagger则提供API的文档化和测试能力。以下是一个简单的集成步骤: 1. 添加相关...
以下是项目中涉及的主要知识点和详细说明: 1. **SpringBoot** SpringBoot是Spring框架的简化版,它集成了大量的常用功能,如自动配置、内嵌Web服务器等,极大地简化了项目的初始化和配置过程。在本项目中,...
- 配置Swagger:配置Swagger的相关注解,如`@Api`、`@ApiOperation`等,来标记API及其描述。 - 启动增强:在Spring Boot的主类上添加`@EnableSwagger2WebMvc`或`@EnableKnife4j`注解,启动Knife4j功能。 - 访问...
- Swagger-UI集成:在calendar-api主项目中引入Swagger-UI,通过注解为API接口生成文档,便于前后端联调和沟通。 - 注释模板:统一注释规范,提高代码可读性。 - ORM框架更换:从Hibernate切换到MyBatis,原因是...
`laravel-apidoc-generator` 支持 Swagger 的注释语法,例如: ```php /** * @OA\Info( * version="1.0.0", * title="Laravel API 示例", * description="API 文档示例", * ) * * @OA\Server( * url=Laravel...
- 根据代码注解自动生成文档:适合已经使用 Swagger 或类似工具的团队。此功能需要付费版支持。 - 根据代码模板快速创建 API 文档:同样适用于所有团队,但也是付费版功能。 3. API 文档详细信息 - 描述信息:...
包括接口说明、参数描述、示例代码等,应使用工具如Swagger或JSDoc自动生成文档。 8. **测试**:全面的单元测试和集成测试可以确保API在各种场景下的正确性。使用Mocha、Jest等测试框架,配合Chai、Sinon等断言库,...