RAML建模中的抽象类或接口

时间:2019-04-11 01:58:24

标签: rest api api-design raml

是否可以使用RAML为抽象类或接口建模?如果不是,我们如何在子类型必须定义的超类型中施加约束?

1 个答案:

答案 0 :(得分:0)

您可以像这样对超级类型和继承建模:

types:
  ResponseNoId:
    properties:
      something1: 
      something2?:
  ResponseId:
    type: ResponseNoId
    properties:
      id:
  Response:
    ResponseNoId|ResponseId

/test:
  get:
    responses:
      200:
        body:
          application/json:
            type: ResponseId

在此示例中,ResponseIdsomething1继承了something2ResponseNoId,但是添加了一个名为id的新属性。

Response允许您在资源中使用任何一个。 现在,您可以在资源中定义type: Response,它仅允许其中一种子类型。