相关疑难解决方法(0)

用于非 CRUD 操作的 REST API 设计,例如保存、部署、执行代码

我的 REST API 上下文中的资源是用某种编程语言编写的应用程序代码。可以轻松映射到 HTTP 动词的 CRUD 操作是保存/编辑/删除代码。难以映射到 HTTP 方法的非 CRUD 操作是在服务器上部署代码、执行代码和取消部署。

我在 SO 中遇到的常见建议是:

  1. 重构动作使其看起来像一个资源的字段,例如,如果您的动作是激活引擎,请设计 URI: PATCH engines/123, body:{"status":"active"}
  2. 将动作视为子资源,例如PUT engines/123/active没有主体
  3. 使用查询参数,例如 PUT engines/123?activate=true
  4. 务实,使用非 RESTful、RPC 风格的 URL,例如 PUT engines/activate?id=123

我绝对不能够适应deploy/ undeploy/execute代码行动,以资源为#1和#2建议。您能否分享您的意见,我们如何才能最好地为这些操作设计 API?

rest

14
推荐指数
2
解决办法
8050
查看次数

标签 统计

rest ×1