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

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

文本/html

_方法:POST

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

数据[用户][密码]:

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

http://d.pr/i/uRFx

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

## login [/users/login/{username}{password}{remember}{ident}]
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

标签: apiary.io apiblueprint


【解决方案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 缺少很多蓝图样本,这个对我来说真的很有帮助。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-24
  • 2014-05-11
相关资源
最近更新 更多