2013-10-23 26 views
0

我正在设计一个Web服务,在邮件正文中接受带有JSON的POST请求。我希望请求者能够为参数指定多个值,但也可以指定单个值。Web服务JSON请求 - 接受单个值和数组值

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

{ 
    "name" : "value" 
} 

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

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

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

另一种方法是,因为我想支持值的阵列,要求值的阵列,即使是简单的例子:

{ 
    "name" : [ 
     "value" 
    ] 
} 

我不喜欢这个,但希望得到社会各界的输入在做出决定之前。

编辑:
我删除从对话字REST作为因素不是很重要的位置。

回答

0

这是一个典型的Web服务接受POST请求的值的数组。但是,元素的数量可能为零或许多。将它作为一组值保存,即使只有一个值进入,也会使事情简单而一致。

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

0

对于这两种情况我都会选择单一结构,然后只有一个处理逻辑来编码,不需要特殊情况来决定。

此外这不是很大的REST相关。这更多的是在数据处理或处理方面进行交易。无论出于什么原因,都可能导致您首先想到将数据分为两种形式。

希望得到这个帮助。

0

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

JSON代表什么资源?

你能回答这个问题吗?

从你的问题的JSON我会说,资源是一个对象,其名称为 。它是不是一个对象有一个的名字。

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

+0

非常真实,但我正在努力的部分是价值观。每个名称可能有一个或多个值,所以我需要将值存储在数组中,即使一个值完全有效? –