4

我的问题很直截了当——我想。

目前存在以下 Uris:

http://someserver/service/item           GET   returns all items  
http://someserver/service/item           POST  creates a new item  
http://someserver/service/item/{id}      GET   returns item with id {id}  
http://someserver/service/item/{id}      PUT   updates item with {id}  

我想做的是返回一个空白的“项目”,例如用于创建新项目的模板,其中包含对象参数列表、它们的类型、是否需要。这样做的原因是我想构建一个完全不了解数据结构的通用 jquery 'create new' 插件,我可以将其应用于我的所有新对象。

实现这一点的最佳方法是什么?

我希望这是有道理的,并感谢您的时间。

4

2 回答 2

11

我理解达雷尔提供的答案,但我会恭敬地反对它。

在我看来,这个模板对象(资源)是您应用程序的重要组成部分,因为您想让它通用。它是一等公民资源,我们谈论的是 REST,因此应该给予相应的处理。我应该能够获取模板资源,它不应该“隐藏”在 POST 后面。

GET http://someserver/service/item/template

然后,当您拥有可通过 GET 访问的资源时,您还可以更轻松地引入版本控制和可变性。

于 2011-02-08T20:50:02.067 回答
4

我做的几乎一样。我在我的“项目列表”资源中包含一个链接,您可以发布到该链接。响应是一个新项目的模板。可以说您也可以执行 GET 来检索模板,但我利用这个机会为项目分配了一个新的 Id,因此我的请求不是幂等的。

于 2011-02-08T13:55:18.047 回答