在 CRUD 操作期间,Odata 适配器是否支持带有“$expand”查询的“Patch”请求?

Log*_*esh 5 odata http-patch odata-v4

我有一个以ODataAdaptor作为数据源的组件,现在我想像我为 GET 请求所做的那样使用$expand查询发出Patch请求(因为 GET 请求公开支持 $expand 查询)。但我不知道它是否被接受,或者有没有其他方法可以解决这个问题?

实际请求:http://localhost:49807/odata/Orders(10249)

预期请求:http://localhost:49807/odata/Orders(10249)/ ?$expand=OrderDetail($select=CustomerID)

在补丁请求中使用 $expand 查询。

Chr*_*ler 2

您无法轻松修补嵌套属性,这是有据可查的限制。但是,如果您想修补单个对象,并使用您建议的扩展路径返回结果,则有两个简单的步骤可以实现此目的:

  1. 将该[EnableQuery]属性添加到您的Patch端点方法中。
  2. 确保您的补丁响应返回 IQueryable 结果,或者您主动包含/急切加载方法主体内对象响应的所有潜在扩展,然后序列化器将返回扩展的对象图。