RESTful API中复杂POST参数的可能格式是什么?

Zik*_*kes 1 javascript rest json node.js express

我正在使用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}
    ]
]
Run Code Online (Sandbox Code Playgroud)

我很想简单地将JSON编码并将其作为单个参数发布,但这听起来有些黑客攻击.我正在尝试保持我的API尽可能开放和一致,以允许其他客户端.

myt*_*thz 5

将其作为ContentType:application/json发布到指定的url是理想的方法.

与您当前将json文本值分配到单个表单数据变量的方法形成对比,该变量被编码并作为ContentType发送:application/x-www-form-urlencoded.

基本上,在jQuery中你想要做的是:

$.ajax({
  type: 'POST',
  url: url,
  data: json,
  success: success,
  dataType: "json"
});
Run Code Online (Sandbox Code Playgroud)