Swagger定义中默认值的精确设置咨询及API代码问题
Swagger定义中默认值的精确设置指南
我来帮你梳理Swagger(OpenAPI)定义里默认值的精确设置方法,结合你提供的API定义草稿,直接给你修改后的示例和关键点说明:
核心实现:添加default关键字
在Swagger规范中,给对象属性设置默认值非常直接——只需要在目标属性的定义层级添加default字段,值的类型必须严格匹配该属性的type定义。
修改后的Definition示例
definitions: Code: type: object properties: code: type: string default: "SUCCESS" # 为code字段设置字符串类型默认值 Status: type: object properties: status: type: string default: "ACTIVE" # 为status字段设置字符串类型默认值 externalDocs: description: Find out more about Swagger url: http://swagger.io # Added by API Auto Mocking Plugin host: virtserver.swaggerhub.com basePath: /gupeel/Raven/1.0.0 schemes: - http
重要注意事项
- 类型严格匹配:
default的值必须和属性的type完全兼容,比如字符串类型的属性不能设置数字、布尔值作为默认值,否则会违反OpenAPI规范导致文档校验失败 - 文档与业务逻辑分离:Swagger中的
default仅作为文档说明和自动Mock服务的参考值,实际API后端的业务逻辑里,你需要自己手动实现默认值的赋值逻辑——Swagger不会自动帮你在运行时应用这个默认值 - 配合可选属性使用:默认值通常用于非必填(未添加
required标记)的属性,当客户端请求中未提供该字段时,后端可以用这个默认值填充数据
内容的提问来源于stack exchange,提问作者Bussiere
相关产品推荐
相关产品推荐

