5.6. 更新现有实体实例

可以使用 PUT 请求地址更新现有的 sales$Order 实体实例:

http://localhost:8080/app/rest/v2/entities/sales$Order/5d7ff8e3-7828-ba94-d6ba-155c5c4f2a50

这里 URL 的最后一部分是实体标识符。

必须将 OAuth token 放在带有 Bearer 类型的 Authorization 请求头中。

请求体必须包含一个只包含要更新的字段的 JSON 对象,例如:

{
  "date": "2017-10-01",
  "customer" : {
    "id" : "5d111245-2ed0-abec-3bee-1a196da92e3e"
  }
}

响应体将包含一个修改过的实体:

{
  "_entityName": "sales$Order",
  "id": "5d7ff8e3-7828-ba94-d6ba-155c5c4f2a50",
  "date": "2017-10-01",
  "updatedBy": "admin",
  "description": "Back to school",
  "version": 2,
  "number": "00017",
  "createdBy": "admin",
  "createTs": "2016-10-13 18:12:21.047",
  "updateTs": "2016-10-13 19:13:02.656",
  "customer": {
    "_entityName": "sales$Customer",
    "id": "5d111245-2ed0-abec-3bee-1a196da92e3e",
    "firstName": "Morgan",
    "lastName": "Collins",
    "createdBy": "admin",
    "createTs": "2016-10-13 15:31:27.821",
    "version": 1,
    "updateTs": "2016-10-13 15:31:27.821",
    "email": "collins@gmail.com"
  }
}
Tip

上面的 JSON 对象提供了 version 属性,意味着 sales$Order 实体是有 版本 的,并且支持乐观锁机制。如需启动乐观锁机制,可以设置 cuba.rest.optimisticLockingEnabled 应用程序为 true。注意,如果 JSON 中没有指定版本,则乐观锁不会起作用。