如何在 apiary.io 上格式化 POST 请求?

Posted

技术标签:

【中文标题】如何在 apiary.io 上格式化 POST 请求?【英文标题】:how to format a POST request on apiary.io? 【发布时间】:2013-11-07 15:57:27 【问题描述】:

感谢您的宝贵时间 我有一个 POST 请求,我想在蓝图蜂房中记录,标题是这样的:

文本/html

_方法:POST

数据[用户][用户名]:

数据[用户][密码]:

数据[用户][记住]:0

http://d.pr/i/uRFx

我有这样的东西,但我不知道如何完成它:

## login [/users/login/usernamepasswordrememberident]
Login with a user and password

+ Parameters

    + username (required, string, `myname`) ... the username format should follow Cakephp: data[User][username].
    + password (required, string, `whatever`) ... the password format should follow CakePHP: data[User][password]
    + remember (required, number, `0`) ... the remember format should follow CakePHP: data[User][remember]
    + ident (optional, number, `0`) ... the ident format should follow CakePHP: data[User][ident]

### make login [POST]

+ login by user (text/plain)
What goes in here???????????

有什么想法吗?谢谢!

【问题讨论】:

这是一个 URL 编码的表单吗?您能否在检查器中单击“查看源代码”(您附上的屏幕截图)。另请注意,cURL trace parser 可以将通信直接记录到 API 蓝图中 我真的不明白你的意思,但这是请求的完整屏幕截图:d.pr/i/L256 顺便说一句,这是编码:d.pr/i/k6bS 【参考方案1】:

显然这是submitting the data in a web form。在这种情况下,Content-Type 属于 application/x-www-form-urlencoded 类型。

请求的消息正文具有特殊格式,并且它的一些章程(方括号)必须进行 % 转义。有关请求正文格式的详细信息,请参阅aforementioned Wiki article。

API 蓝图最简单的形式可能类似于:

# Login [/users/login]
## Make Login [POST]
+ Request (application/x-www-form-urlencoded)

        data%5BUser%5D%5Busername%5D=qq&data%5BUser%5D%5Bpassword%5Dqq&data%5BUser%5D%5Bremember%5D=0

+ Response 201

您应该能够在“查看 URL 编码”链接下的流量检查器中看到您的请求消息正文示例。

请参阅this blueprint 以查看此示例的实际效果。

有关application/x-www-form-urlencoded 的更多详细信息,请参阅this SO question。

【讨论】:

谢谢!伟大的!现在我明白了!。 你能把这个的蓝图标记贴在这里吗??? -docs.urlencoded.apiary.io 缺少很多蓝图样本,这个对我来说真的很有帮助。谢谢!

以上是关于如何在 apiary.io 上格式化 POST 请求?的主要内容,如果未能解决你的问题,请参考以下文章

Apiary.io - 具有不同参数的多个响应(200)

如何从具有不同参数的单个端点获得多个响应?

如何POST一个JSON格式的数据给Restful服务

POST 请求的三种常见数据提交格式

关于webmagic的post请求

如何设置电脑上的时间格式