2013-11-26 10 views
1

给定一个对对象使用JSON编码的RESTful服务器后端。 GET请求返回对象{ id: 42, name: 'Peter', age: 28 }。现在我想知道插入新对象的POST请求是否应以相同形式返回整个对象,或者只返回创建的ID。REST服务器应该在POST上发送整个对象还是仅发送ID?

例如,客户端发送此请求以在数据库中创建新条目。

method: POST 
url:  http://example.com/persons 
type: application/json 
content: { name: 'Max', age: 35 } 

应在服务器与{ id: 43, name: 'Max', age: 35 }或者只是像43{ id: 43 }创建ID回应?在这个最小的例子中,我想带宽并不重要,但实际上,编码地理区域的属性更长。

+0

这不取决于你想要对数据做什么?此外,回送仅适用于服务器已更改的任何字段。客户知道其他人。 –

+0

@ChristopherCreutzig没有关于此的指导原则吗?不是的,你可以根据你的评论写一个答案,我会将其标记为已接受。 – danijar

+0

这取决于客户需要什么。我和克里斯托弗在一起。如果数据已被服务器更改并且这些更改应传达给客户端,我想这个指导原则应该是返回它。 –

回答

1

我不知道的任何准则没有硬性的规定。就个人而言,我认为返回客户端无法知道的数据可能会很有用 - 当然主要是新ID,但服务器可能已经规范化或以其他方式更改了其他数据。

但最终,它只是取决于客户想要处理的数据。如果返回任何东西,我会使用一个可以进一步扩展的格式,而不仅仅是一个数字ID或类似的东西。

0

创建操作应理想情况下返回给调用者的URI,所以我会说什么是标识符,返回这将是最佳实践。

2

REST是一种建筑设计也有对数据的反应应该是什么

相关问题