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

时间:2019-02-13 11:08:11

标签: odata odata-v4 http-patch

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

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

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

在补丁请求中带有$ expand查询。

1 个答案:

答案 0 :(得分:0)

您不能轻易地修补嵌套属性,这是有据可查的限制。但是,如果要修补单个对象,并使用建议的扩展路径返回结果,则可以通过两个简单步骤来实现:

  1. [EnableQuery]属性添加到您的 Patch 端点方法。
  2. 确保补丁响应返回一个IQueryable结果,或者积极地/希望将所有潜在的扩展加载到方法主体内的对象响应中,然后序列化程序将返回扩展的对象图。