在数据密钥API Blueprint / Apiary中包装数据结构

时间:2017-03-11 20:06:36

标签: apiblueprint apiary.io apiary mson

所以,让我说我有一个200响应,该主体应该是:

{
  "data": [
    {
      "id": 1,
      "title": "Activity 1"
    },
    {
      "id": 1,
      "title": "Activity 2"
    }
  ]
}

我已经设法通过在API蓝图中使用它来获得响应体的这种行为。

+ Response 200 (application/json)
    + Attributes
        + data (array[Activity])

(请注意,我无法将数据密钥添加到数据结构本身,因为它只出现在单个响应中。如果我需要将Activity嵌套在另一个结构中,它不应该&#39 ; t有数据键。)

这似乎不对

我之所以认为这是正确的做法,是因为这个响应的JSON架构是:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "data": {
      "type": "array"
    }
  }
}

请注意如何排除实际活动。

如何正确地将我的响应包装在数据密钥中,并将其反映在正文和模式中?

1 个答案:

答案 0 :(得分:2)

你应该使用这一行:

+ data(array[Activity], fixed-type)

fixed-type关键字修复了数组中项目的类型。