关于RESTful设计的一个疑问

最近在写aws相关的开发,有这样一个问题:比如关于instance的操作有创建、重启、停止、删除等,如果按照RESTful设计风格应该如何实现?

GET     /etc/instance/    获取instance
POST    /ec2/instance/    创建instance
DELETE  /etc/instance/    删除instance

那重启、停止等操作呢?用PUT?

阅读 4.5k
3 个回答

恰好在做一个管理服务的 RESTSful api 设计,说一下我的设计思路供参考。

# 创建
POST /ec2/instance

# 查询状态
GET /ec2/instance/:id

# 删除(terminate)
DELETE /ec2/instance/:id

# 启动、重启等都算作修改状态,假定是在修改 instance 的 status 属性

# 启动
PUT /ec2/instance/:id
Form data: status=start

# 停止
PUT /ec2/instance/:id
Form data: status=stop

# 启动,如果已启动就重启
PUT /ec2/instance/:id?force=1
Form data: status=start

图片描述

用一个rails的url设计来回答,手懒了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题