使用 Raml 验证标头

Posted

技术标签:

【中文标题】使用 Raml 验证标头【英文标题】:Validate headers using Raml 【发布时间】:2021-09-11 05:37:09 【问题描述】:

我有三个标头 A、B、C,这里 A 始终是强制性的,并且 B 或 C 在请求中一次只能出现一个。

如何在raml 1.0中实现

【问题讨论】:

【参考方案1】:

看起来 RAML 无法验证这种条件。关于标题 RAML specification 只说:

headers 节点的值必须是一个映射,特别是一个 属性声明。此声明对象中的每个属性都是 标头声明。每个属性名称指定一个允许的标头 姓名。每个属性值都将标头值类型指定为类型 名称或内联类型声明。

假设您在 Mule 运行时中使用 APIKit 实现此 RAML API,那么您将需要在流的主体中实现限制。

【讨论】:

以上是关于使用 Raml 验证标头的主要内容,如果未能解决你的问题,请参考以下文章

RAML 文件的验证

在 RAML 中验证查询参数

Osprey RAML 验证错误处理

Raml 验证器在 javax.xml.validation.SchemaFactory.newSchema 中引发错误

MuleSoft 使用 RAML 片段将 RAML 规范导入 Anypoint Studio

将 Swagger JSON 转换为 RAML/YAML