ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SAP Gateway Patch Support 深入解析,PUT、PATCH 与部分更新背后的数据语义

SAP Gateway Patch Support 深入解析,PUT、PATCH 与部分更新背后的数据语义 在 SAP Gateway 项目里,更新一条 OData 数据看起来往往很简单。前端修改几个字段,发出一个 HTTP 请求,后台进入UPDATE_ENTITY,调用 BAPI、Business Object API 或直接更新数据库,整个流程似乎就结束了。真正麻烦的地方并不在于怎样执行UPDATE,而在于一个更容易被忽略的问题,客户端这次到底是在表达「替换整条资源」,还是只表达「修改其中几个字段」。这两个动作在业务系统里完全不是一回事。假设我们的 OData 服务暴露一个 Product 实体,当前数据库里的数据是下面这个状态。ProductID HT-1000 Name Notebook Basic 15 Category NOTEPAD Currency EUR Price 956 Supplier 0100000042 Status ACTIVE某个 SAP Fiori 页面只允许修改商品名称。用户把Name修改为Notebook Basic 15 Plus,页面自然只关心Name的变化。如果前端传回来的数据只有Name,服务端究竟应该只修改Name,还是应该把客户端没有传回来的Category、Currency、Pri
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进