必填字段必须显式声明于required数组中,仅定义properties无效;火山引擎API网关和函数计算均需在JSON Schema中明确指定required字段并发布新版本或开启校验开关,嵌套字段需单独声明required,根类型须为object且不可省略type。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在火山引擎的API网关或函数计算服务中配置JSON响应结构时,必须明确指定哪些字段为必填,否则下游调用方可能因缺失关键字段而解析失败或触发异常逻辑。
在API网关控制台设置响应JSON必填字段
进入「API管理」→「API定义」→ 选择目标API →「响应定义」标签页。
点击「添加响应模型」,模型类型选「JSON Schema」,在Schema编辑框中粘贴符合Draft-07规范的JSON Schema文本。
必填字段必须显式写入 【"required": ["field_a", "field_b"]】 数组,仅声明properties但不写required,火山引擎不会校验该字段是否存在。
保存后需重新发布API版本,旧版本配置不生效。
在函数计算FC中通过OpenAPI规范约束输出结构
方法一:使用Swagger 2.0定义响应schema
在函数的「接口配置」→「OpenAPI定义」中上传YAML文件,在responses部分的schema内定义properties,并在required字段中列出必填项,例如:required: [code, data, message]。
方法二:启用FC内置的响应校验开关
勾选「开启响应结构校验」后,系统会自动依据你填写的JSON Schema对函数返回体做运行时校验;若返回JSON缺少required中的任一字段,网关将拦截响应并返回HTTP 500及错误提示。
注意:校验仅作用于顶层字段,嵌套对象内部的required需在对应object schema中单独声明,父级required不递归生效。
编写合法JSON Schema的三个关键点
第一步:根类型必须设为object,且不能省略type字段。
第二步:每个必填字段在properties中要有完整定义,包括type、description(非强制但建议填写),否则校验可能跳过该字段。
第三步:避免使用nullable: true配合required,火山引擎当前版本不支持对该组合做空值容错处理,字段存在但值为null仍视为有效;如需“非空”,应额外加"minLength": 1或"minimum": 1等约束。







