Apiary:是否可以记录JSON响应字段是什么?

时间:2014-01-10 11:44:24

标签: json apiblueprint apiary

我想记录实际的JSON字段本身代表什么。

我已经记录了GET语句和参数,但这并没有提供完整的文档来提供给用户。

因此,在下面的示例中,我将如何添加关于“OtherFields”的评论。这支持吗?或者我是否需要在其他地方制作配套文件。

## View Applications [/cat{?sort}{&order}{&page}]
### List all Applications 
### Get List of Applications [GET]
+ Parameters
    + sort (optional, string) ... `sort` parameter is used to specify which criteria to use for sorting. One of the following strings may be used: 
    `"NAME", 
    "RATING", "QUALITY" ,
    "RISKLEVEL", `

    + order (optional, string) ... `order` parameter is used to specify which order to use if sorting is used. One of the following strings may be used: 
    `"ASC", 
    "DESC"`

    + page (optional, int ) ... `page` parameter is used to request subsequent catalog pages.


+ Response 200 (application/json)

                {
            "Catalog" : {
                "Page" : 0,
                "Count" : 6,
                "Applications" : [{
                        "UID" : "6882e96a-5da1-11e3-1111-3f24f45df3ad"
                        "OtherFields: ""
               }]
               }}

2 个答案:

答案 0 :(得分:14)

我认为它还不支持。

我在项目中解决了这个问题,方法是在GET请求行的上方放置一个描述表。在你的情况下,它可能看起来像:

### List all Applications 

| Field                            | Description               |
|----------------------------------|---------------------------|
| Catalog.Applications.OtherFields | Documentation goes here.. |

### Get List of Applications [GET]

为了帮助您使用Markdown语法创建表格,您可以使用Markdown Tables generator

请注意,表生成器允许您将表定义保存到文件中,因此下次需要编辑表时,可以从上次停止的位置开始。

答案 1 :(得分:11)

更新:我们刚刚使用MSON syntax推出了属性描述测试版。

原始有效载荷可以描述为

### Get List of Applications [GET]

+ Response 200 (application/json)

    + Attributes
        + Catalog (object)
            + Page: 0 (number) - Number of the page
            + Count: 6 (number) - Count of *Lorem Ipsum*
            + Applications (array) - Some array of something
                + (object)
                    + UID: `6882e96a-5da1-11e3-1111-3f24f45df3ad`
                    + OtherFields

    + Body 

            {
                "Catalog" : {
                    "Page" : 0,
                    "Count" : 6,
                    "Applications" : [{
                        "UID" : "6882e96a-5da1-11e3-1111-3f24f45df3ad"
                        "OtherFields": ""
                    }]
                }
            }

请注意,正文中的显式JSON是多余的,您可以完全跳过它。有关其他详细信息,请参阅API蓝图规范 - Attributes