RESTful API中复杂POST参数的可能格式是什么?
What is a possible format for complex POST parameters in a RESTful API?
我正在使用node.js
+ express
开发一个应用程序,其中包含一个允许用户订阅项目列表的结构。每个列表订阅都包含选项,例如每个项目的最低分数和列表中排名前N的项目,并且订阅可以组织成数字分组,这些分组与整个订阅列表模式中的特定排名相关。多个订阅可以在一个排名中,允许并列,而其他订阅可能排名更高或更低。
我目前的问题是,我提供了一个界面来管理这些列表订阅和它们的选项,虽然我能想到一些UI的可能性,但我有点难住了提交结果回我的服务器的最佳格式。
表示为JSON,这是我将要处理的:
[
[
{"list_id":1,"min_score":0,"limit":500}
],
[
{"list_id":12,"min_score":5,"limit":-1},
{"list_id":16,"min_score":5,"limit":-1}
],
[
{"list_id":2,"min_score":0,"limit":-1}
]
]
我想简单地对JSON进行编码,并将其POST为单个参数,但这听起来有点像黑客。我试图保持我的API尽可能开放和一致,以允许其他客户。
将其作为ContentType: application/json POST到指定的url是理想的方法。
与当前将json文本值分配到单个表单数据变量的方法形成对比,该变量被编码并发送为ContentType: application/x-www-form-urlencoded。
基本上,在jQuery中你要做的是:$.ajax({
type: 'POST',
url: url,
data: json,
success: success,
dataType: "json"
});
我更喜欢看XML和JSON,以下是我的建议:
<?xml version="1.0"?>
<groups>
<group>
<rank>1</rank>
<lists>
<list>
<id>1234</id>
<minScore>0</minScore>
<limit>500</limit>
</list>
</lists>
</group>
<group>
<rank>2</rank>
<lists>
<list>
<id>12345</id>
<minScore>5</minScore>
<limit>-1</limit>
</list>
<list>
<id>123456</id>
<minScore>5</minScore>
<limit>-1</limit>
</list>
</lists>
</group>
<group>
<rank>3</rank>
<lists>
<list>
<id>123456</id>
<minScore>50</minScore>
<limit>567</limit>
</list>
</lists>
</group>
</groups>
你可以试试
/group/list-id=1&limit=500/group/list-id=12&min-score=5/list-id=16&min-score=5/group/list-id=2
建议使用@mythz的JSON方法。如果不能使用JSON,则使用与jQuery相同的格式:
如何通过JQuery Post传递Javascript数组,以便其所有内容都可以通过PHP $_POST数组访问?
这是一个事实上的标准,所以最好使用它,而不是推出自己的
相关文章:
- 几何位置的参数格式是什么
- 这种格式是什么意思 T00:00:00.000Z
- Express的格式是什么'req.params
- 内存中的整数格式是什么
- 赋值表达式的标准格式是什么
- 此对象的键存储的格式是什么?%00*%00_data.
- 此数据的格式是什么?是自定义格式吗?
- 数据道场道具中正则表达式的格式是什么
- 卡片的格式是什么?Regex
- 这个插件要求回调字符串的格式是什么?(jquery ui multisearch)
- Date对象最兼容的javascript时间格式是什么
- 如何将数组发送到存储过程?如果我从JS发送数据,最好的数据格式是什么
- yyyy-mm-ddThh:mm:ss.sssZ日期/时区格式是什么,以及如何在JavaScript中复制它
- python读取Javascript数组的格式是什么?
- 指定字符串中的数据格式是什么,以及如何解析它
- RESTful API中复杂POST参数的可能格式是什么?
- 用嵌套的对象数组填充JSON对象的正确格式是什么?
- 谷歌图表需要的javascript日期时间格式是什么?
- 如果二进制数据是“4字节单一格式”是什么意思?以及如何在JavaScript中读取它
- JSON、HTML:称为2001-07-26T20:52:54Z的时间格式是什么?