Web Service JSON请求 - 接受单值和值数组

时间:2013-10-23 16:54:06

标签: arrays json rest

我正在设计一个Web服务,在邮件正文中使用JSON接受POST个请求。我希望请求者能够为参数指定多个值,但也需要单个值。

因此,对于简单的情况,我支持JSON,如:

{
    "name" : "value"
}

而且,在更复杂的情况下,我也支持JSON,如:

{
    "name" : [
        "value one",
        "value two",
        "value three"
    ]
}

我的问题是:这是Web服务的异常接口吗?我在这里过于复杂吗?

替代方法是,因为我想支持值数组,需要数组值,即使对于简单的情况:

{
    "name" : [
        "value"
    ]
}

我不喜欢这样,但希望在做出决定之前得到社区的意见。

修改
我从对话中删除了REST这个词,因为这个因素在这里并不重要。

3 个答案:

答案 0 :(得分:0)

Web服务通常接受POST请求的值数组。但是,元素的数量可以是零或许多。将它保持为一个值数组,即使只有一个值,也会保持简单和一致。

如果Web服务的用户需要提交单个元素进行创建或修改(upsert),那么PUT请求可能更合适。

答案 1 :(得分:0)

我更喜欢两种情况下的单一结构,然后只有一种处理逻辑来编码,不需要特殊情况来决定。

这也与REST无关。它更多的是在处理或处理数据v.s.无论什么原因促使你想到首先将数据分成两种形式。

希望得到这个帮助。

答案 2 :(得分:0)

REST是关于资源及其表示的。所以问问自己:

  

JSON代表什么资源?

你能回答这个问题吗?

从问题中的JSON我会说,资源是一个名称为的对象 。它是具有一个名称的对象。

所以我建议你使用第二种方法。