当前位置: 首页 > 后端技术 > Java

Swagger笔记的Swagger笔记

时间:2023-04-02 01:43:15 Java

@TOC相关内容地址Swagger官方文档https://swagger.io/docs/specification/2-0/basic-structure/Swagger常用笔记https://blog.csdn.net/weixin_42526326/article/details/119824857Swagger2常用注解https://blog.csdn.net/weixin_42526326/article/details/119963866Swagger3常用注解https://blog.csdn.net/weixin_42526326/article/details/119965092SwaggerScopeAPI-注意事项:使用location协议集描述@Api用于控制器类上的对象属性@ApiModelProperty用于输入输出参数对象的字段协议描述@ApiOperation用于控制器的方法响应集@ApiResponses用于方法controller的Response@ApiResponse用于@ApiResponses中设置的非对象参数@ApiImplicitParams用于controller方法中。@ApiImplicitParams方法中使用非对象参数说明@ApiImplicitParam来验证绑定参数。@Valiated用于controller方法中,描述返回对象的含义。@ApiModel在控制器方法中使用。返回对象类上的api标记,用于类上,说明类的功能。您可以将Controller类标记为Swagger文档资源,并将其与Controller注释并行使用。属性配置:Controller控制器@Apitags一定要写,否则swagger扫描会显示类名属性名remarkvalueurl路径valuetags如果设置了这个值,value的值会被覆盖description描述api资源的basePath基本路径即可省略Configureposition如果你配置了多个API,你想改变显示顺序。位置produces例如“application/json,application/xml”consumes例如“application/json,application/xml”protocols可能的值:http,https,ws,wss.authorizationsAdvanced配置hidden配置为true,当特性认证时会隐藏@ApiOperationApiOperation文档中的tag,方法上使用,说明方法的作用,每个url资源的定义,使用:@ApiOperation("获取用户信息")和Controller中的方法并行使用,属性配置:属性名remarkvalueurlpathvaluetags如果设置了这个值,value的值会被覆盖descriptionapi资源的描述basePath基本路径不能配置position如果配置多个Apiproduces想改变显示顺序position例如,"application/json,application/xml"consumes例如"application/json,application/xml"protocols可能的取值:http,https,ws,wss.authorizations高级特性认证配置hidden为true,会隐藏在文档中的对象响应responseContainer返回的是有效的“List”、“Set”或“Map”。其他无效的httpMethod"GET","HEAD","POST","PUT","DELETE","OPTIONS"and"PATCH"codehttp的状态码默认为200extensions扩展属性@ApiParamApiParam标签,请求属性,用法:publicTableDataInfolist(@ApiParam(value="queryuserlist",required=true)Useruser)与Controller中的方法并行使用,属性配置:属性名remarkname属性名value属性值defaultValue默认属性值allowableValues不可配置required属性是否需要访问但描述过多allowMultiple默认为falsehidden隐藏该属性示例示例@ApiResponseApiResponse标签,响应配置,用法:@ApiResponse(code=400,message="queryuserFailed")与Controller中的方法并行使用,属性配置:属性名备注codehttp状态码消息描述response默认响应类Voidreference参考ApiOperation配置responseHeaders参考ResponseHeader属性配置描述responseContainer参考ApiOperation配置@ApiResponsesApiResponses标签,响应集配置,使用方法:@ApiResponses({@ApiResponse(code=400,message="InvalidUser")})与Controller中的方法并行使用,属性配置:属性名备注值多个ApiResponse配置@ResponseHeaderResponseHeader标签,响应头设置,使用方法@ResponseHeader(name="head",description="responseheaderdesign")与Controller中的方法并行使用,属性配置:属性名remark名称响应头名称description描述响应默认responseclassvoidresponseContainer参考ApiOperation中的配置火上浇油@RestController@RequestMapping("/msg/im")@Api(tags="Message-IM")publicclassIMController{@ApiOperation("生成用户签名")@ApiImplicitParams({@ApiImplicitParam(name="userId",value="UserID",required=true,dataType="String")})@GetMapping("/{userId}")publicRtest(@PathVariable("userId")@ApiParam(value="UserID",required=true)StringuserId){returnR.ok(IMTencentUtil.genUserSig(userId));}}VO返回对象,其中@Null,@NotNull。等等与@Valiated限制说明一起使用@Null限制只能为null@NotNull限制不能为null@AssertFalse限制必须为false@AssertTrue限制必须为true@DecimalMax(value)限制必须为不大于指定值的数字@DecimalMin(value)limit必须是不小于指定值的数@Digits(integer,fraction)limit必须是小数,整数部分的位数不能超过整数,小数部分的位数不能超过partcannotexceedfraction@Futurelimitmustbeafuturedate@Max(value)constraintmustbeanumbernotgreaterthanthespecifiedvalue@Min(value)constraintmustbeanumbernotlessthanthespecifiedvalue@Past约束必须是过去的日期@Pattern(value)约束必须符合指定的正则表达式@Size(max,min)限制字符长度必须在min和max之间@Past验证注释的元素值(日期类型)早于当前时间@NotEmpty验证注解的元素值不为null且notIsempty(字符串长度不为0,集合大小不为0)@NotBlank验证注解的元素值不为empty(不为null,去掉第一个空格后长度为0),与@NotEmpty不同,@NotBlank只适用于String,比较时会去掉字符串中的空格。@Email验证注解的元素值为Email,也可以通过正则表达式和flags指定自定义的邮件格式。@ApiModel用于返回的对象类。属性名备注值默认为模型提供了一个替代名称描述描述引用y指定对相应类型定义的引用,覆盖指定的任何其他元数据@ApiModelProperty用于返回对象的属性属性名备注值默认字段描述名称覆盖propertynamedataTypeoverridespropertytyperequired是否需要?示例说明,如果hidden设置为true,它将在文档中隐藏。@ApiModel("testVo")publicclassMsgPageVO{/**MessageID*/@ApiModelProperty("MessageID")privateLongmsgId;}注意:@Api(tags="")写入,否则swagger扫描显示类名不断更新。...