RAML默认信封

时间:2015-11-24 17:52:25

标签: api api-design raml

我的API具有所有集合类型资源的默认信封,如下所示:

{
  "data": [{},{},{}],
  "self": "http://api-url/members",
  "total": 120,
  "limit": 10,
  "offset": 0
}

是否可以使用RAML定义它?在resourceType里面?怎么样?

2 个答案:

答案 0 :(得分:1)

这取决于您用于指定API实体的内容:

  • if(pri.equalsIgnoreCase("PM")) { hh+=12; } - 使用这些公共字段创建基本架构,并在每个具体架构中使用JSON Schema Draft 3机制,
  • extends - 使用这些公共字段创建共享模式,并使用JSON Schema Draft 4机制将其混合到每个具体模式中,
  • allOf - 创建一个公共类型,并通过RAML 1.0 Types属性在每个具体类型中引用它。

答案 1 :(得分:1)

使用RAML 1,您可以使用类型和继承来定义信封和数据类型。以及用于应用于所有集合类型资源的资源类型,例如:

types:
    person:
        type: object
        properties:
            name:
            age:
    car:
        type: object
        properties:
           model:
           brand:
    envelop:
        type: object
        properties:
            data: person[] | car[]
            self: string
            total: integer
            limit: integer
            offset: integer
resourceTypes:
    - collection:
        get:
            responses:
                200:
                    body:
                        type: envelope
/users:
    type: collection
    get:

更多信息hereherehere