问题
我们如何使资源不是动词......但在默认GET
, POST
, PUT
,动作之外仍然保持其特殊DELTE
动作?
细节
我一直在寻找构建 RESTful API 的正确方法。那里有很多很棒的信息。现在我实际上正试图将它应用到我的网站并遇到了一些障碍。
我们的网站做什么:
我们的网站允许人们玩游戏并赢取奖品。
该 API 将允许开发人员构建自己的游戏并使用我们的后端来收集、验证、存储用户信息并发放奖品。
设想:
开发人员将创建他们的游戏,然后调用我们的 API 让玩家玩游戏 ( play_game
)。这种play_game
方法结合了我们不希望开发人员独立运行的多个功能。
以下是play_game
调用在服务器上的作用:
- 它接受开发者想要存储的玩家数据。
- 验证数据(将其与控制面板中的规则设置进行比较)
- 计算应该给予什么奖品。
- 将赢得的奖品返回给开发者。
- 此外,还有多个在幕后触发的功能,例如发送电子邮件等。
资源 这是我们当前资源的样子:
http://site.com/api/play_game
问题:
这不符合 RESTful API 中没有动词的想法。
我们如何使这个资源不是动词......但在默认GET
, POST
, PUT
,动作之外仍然保持它的特殊DELTE
动作?
笔记:
在问了这个问题之后,我决定使用 Phil Sturgeons RESTful 框架......除非有人有更好的主意。