比方说,我们有一个服务来添加一个新的酒店:如何在RESTful POST中返回生成的ID?
> POST /hotel
> <hotel>
> <a>aaa</a>
> <b>aaa</b>
> <c>aaa.......this is 300K</c>
> </hotel>
然后我们有一个GET:
> GET /hotel
< HTTP/1.1 200 OK
< <hotel>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
的问题是什么我们返回初始POST创造?我们想要返回一个“引用”到新资源的ID(在服务器上生成),但我们不想返回所有酒店数据,因为在我们的情况下,其中一个数据字段是一个大约300K的平面文件。
所以你应该刚刚返回:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< </hotel>
还是应该返回完整的对象:
< HTTP/1.1 200 OK
< <hotel>
< <id>123</id>
< <a>aaa</a>
< <b>aaa</b>
> <c>aaa.......this is 300K</c>
< </hotel>
?
我对宁静的最佳实践感兴趣。
注意:这个相关的post会谈到更多关于返回的内容,而不是关于如何返回它。
回答要了解如何设置位置标题: http://www.java-forums.org/blogs/spring-framework/544-restful-post-method-spring.html – db42 2012-07-26 06:01:00