# 修改

## 修改信息

![web dev](./img/web-swager_010.jpg)
修改数据信息支持整体数据覆盖，或只更新某几个或一个字段，或某几个或一个字段置空 例如修改设备数据
```metadata json
{
  "Content": [
    {
      "Category": "TDLS",
      "EquipID": "Eq1102290001135ba2e0ee574038bf2e6e5c3d81e7f6",
      "EquipLocalID": "ATFU-TOP-N-003",
      "EquipLocalName": "低压开关柜-A03",
      "EquipName": "设备-DG5FN",
      "ProjectId": "Pj1102290001"
    }
  ]
}
```
返回结果
```metadata json
{
  "Message": "",
  "Result": "success"
}
```

当前设备有值得所有信息点，把所有的信息点传给服务端，整体的数据覆盖，也可以指定更新某一个或几个信息点，例如： 只更新 EquipLocalName 本地名称
```metadata json
{
  "Content": [
    {
      "Category": "TDLS",
      "EquipID": "Eq1102290001135ba2e0ee574038bf2e6e5c3d81e7f6",
      "EquipLocalID": "ATFU-TOP-N-003",
      "EquipLocalName": "低压开关柜-A03",
      "EquipName": "设备-DG5FN",
      "ProjectId": "Pj1102290001"
    }
  ],
    "Projection": [
        "EquipLocalName"
      ]
}
```
在 Projection 中指定要更新的信息点，即使把所有信息点传给了服务端，只会更新 Projection 指定的信息点，其他信息点不会改变，，某一个信息点想要置空也需要指定这个信息点才可以置空例如：

```metadata json
{
  "Content": [
    {
      "Category": "TDLS",
      "EquipID": "Eq1102290001135ba2e0ee574038bf2e6e5c3d81e7f6",
      "EquipLocalID": "ATFU-TOP-N-003",
      "EquipLocalName": null,
      "EquipName": "设备-DG5FN",
      "ProjectId": "Pj1102290001"
    }
  ],
    "Projection": [
        "EquipLocalName","EquipLocalID"
      ]
}
```
上面的例子中把 EquipLocalName 信息点的值置空，需要在 Projection 中指定置空的信息点以及需要更新的信息点 ,在操作置空的请求体重可以不传需要置空的信息点
只要在 Projection 中指定信息点的属性，就会把这个属性值置空 ，注意：更新是根据对象的主键进行数据更新，例如设备，一定要传设备id，否者更新失败，服务端会不知道要更新的是哪个对象