使用Rails'的查询字符串参数的API Blueprint文档。数组表示法

时间:2014-04-21 03:20:01

标签: apiblueprint apiary.io apiary

我尝试使用资源丰富的文档来处理使用Rails' array parameter notation

的API URI时没有太多运气

例如(为清晰起见,未编码的URL):

/api/v2/profiles?ids[]=35&ids[]=47&ids[]=12&ids[]=132

和实际编码的网址:

/api/v2/profiles?ids%5b%5d=35&ids%5b%5d=47&ids%5b%5d=12&ids%5b%5d=132

这不起作用:

## Profiles [/api/v2/profiles{?ids%5b%5d*}]

### List profiles [GET]

+ Parameters

    + ids%5b%5d (required, number) ... ID of a profile to fetch. May be specified multiple times.

针对beta 3列布局进行测试。没有尝试过旧布局。

2 个答案:

答案 0 :(得分:6)

此时我会运行参数(description)而不使用方括号,如下所示:

# Rails Params

## Profiles [/api/v2/profiles{?ids%5b%5d*}]

### List profiles [GET]

+ Parameters
    + ids (required, number) ... ID of a profile to fetch. May be specified multiple times.

        For example: `profiles?ids[]=35&ids[]=47&ids[]=12`


+ response 204

您可以在Apiary here找到示例。

然而,这种情况需要改进。我在API Blueprint解析器上创建了issue来跟踪它。

答案 1 :(得分:2)

这很适合作为解决方案。

### Get a group of specified items [GET /statistics?ids[]={id1}&ids[]={id2}]

+ Parameters
    + id1 (number, `1`)
    + id2 (number, `2`)
    + idx (number, `any ID`)

+ Response 200 (application/json; charset=utf-8)

        {
            "items": [
                {
                    "id": 1,
                    "value": "Item 1"
                },
                {
                    "id": 2,
                    "value": "Item 2"
                },
            ]
        }

它清楚地传达了用法是什么,以及在交互式文档中使事情清晰可用。