RAML 是不是支持同一内容类型的多个响应模式?

Posted

技术标签:

【中文标题】RAML 是不是支持同一内容类型的多个响应模式?【英文标题】:Does RAML support multiple response schemas for the same content type?RAML 是否支持同一内容类型的多个响应模式? 【发布时间】:2017-01-17 10:58:41 【问题描述】:

在我的项目中,所有 POJO 类都在扩展父类。由于我的控制器有一个方法,其返回类型是父类,但实际上它在这里返回子类,我使用多态性的概念,即我将子类类型转换为父类班级。

在 RAML 生成代码中: RAML 生成器代码基本上使用控制器的方法签名,因为签名包含父类,因此它将生成 Parent 的模式,但实际上我们需要实际响应的模式。

RAML 的 API 响应中是否可以添加两个模式? 要么 有没有什么办法可以得到使用多态概念的API实际响应的schema?

【问题讨论】:

【参考方案1】:

考虑使用Union Type 和Discriminator。联合类型的实例必须满足至少一种关联类型的所有限制。所以定义为Phone|Notebook 的联合类型的实例必须是PhoneNotebook(或两者)的实例。鉴别器允许在运行时推断单个对象的具体类型,因此它类似于多态的概念。

【讨论】:

以上是关于RAML 是不是支持同一内容类型的多个响应模式?的主要内容,如果未能解决你的问题,请参考以下文章

RAML 1.0 - 单个响应的多个示例

是从体型(RAML)中排除属性的方法吗?

RAML:如何仅导出特定类型的 XSD

Mulesoft 设计中心问题

如何包含对 raml 资源的常见响应

RAML 默认信封