首页 > 解决方案 > REST 和复合 CRUD 事务

问题描述

该应用程序具有以下 CRUD 形式

在此处输入图像描述

它允许用户在单个表单中创建、读取、更新和删除行(具有身份的实体),并在单个事务中保存更改。

在这种情况下,使用聚合的 POST 请求到 REST 是否合理?请求如下所示(请求将仅包含更改/添加的实体)

POST /api/entities/

{[
  {"id": 1, "field": "Foo"},
  {"id": 2, "field": "Bar", "deleted": true},
  {"id": 3, "field": "Baz"},
  {"field": "New 1"},
  {"field": "New 2"},
]}

我知道这不是真正的 RESTFul。然而 UI 设计不能改变,保存应该是原子事务。我有更好的选择吗?

标签: jsonformsrestweb-servicesuser-interface

解决方案


对 REST 使用聚合的 POST 请求是否合理?

使用 POST很好

我知道这不是真正的 RESTFul。

当然是——这就是我们在网络上做事的方式:描述有趣字段的 HTML 表单,描述浏览器应如何message-body从字段值构造 a 的处理规则。

您正在创建某种application/json表示形式而不是application/x-www-form-urlencoded表示形式的细节并不重要。

您的资源模型不是您的领域模型,也不是您的数据模型。


推荐阅读