自定义函数结果上的 OData PATCH
OData PATCH on a custom function result
我想知道 OData 协议是否允许对自定义函数的结果进行修补,例如,假设一个 API 具有自定义函数,returns 一个实体:
https://<serviceroot>/api/EntitySet('id')/GetChildEntity(key=entryId)/
为了避免额外的往返行程,我希望客户端能够通过对其进行修补来进一步修改 GetChildEntity 的返回实体,因此
PATCH https://<serviceroot>/api/EntitySet('id')/GetChildEntity(key=entryId)/
OData 协议允许这样做吗?
是的,根据协议这是支持的,你可以参考规范(http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752310)并且声明是
如果函数是可组合的,则可以将额外的路径段附加到 URL 以标识可组合函数(或函数导入)以适合函数(或函数导入)返回的类型。最后一个路径段决定了系统查询选项 和可用于此 URL 的 HTTP 动词,例如如果最后一个路径段是多值导航 属性,可以使用 POST 请求在已识别的集合中创建新实体。
我想知道 OData 协议是否允许对自定义函数的结果进行修补,例如,假设一个 API 具有自定义函数,returns 一个实体:
https://<serviceroot>/api/EntitySet('id')/GetChildEntity(key=entryId)/
为了避免额外的往返行程,我希望客户端能够通过对其进行修补来进一步修改 GetChildEntity 的返回实体,因此
PATCH https://<serviceroot>/api/EntitySet('id')/GetChildEntity(key=entryId)/
OData 协议允许这样做吗?
是的,根据协议这是支持的,你可以参考规范(http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part1-protocol/odata-v4.0-errata03-os-part1-protocol-complete.html#_Toc453752310)并且声明是
如果函数是可组合的,则可以将额外的路径段附加到 URL 以标识可组合函数(或函数导入)以适合函数(或函数导入)返回的类型。最后一个路径段决定了系统查询选项 和可用于此 URL 的 HTTP 动词,例如如果最后一个路径段是多值导航 属性,可以使用 POST 请求在已识别的集合中创建新实体。