使用 Raml 验证标头

问题描述

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

如何在 raml 1.0 中实现

解决方法

看起来 RAML 不能验证那种条件。关于标题 RAML specification 只说:

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

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