在POST或PUT中获取ODataQueryOptions

时间:2019-03-29 21:04:28

标签: c# asp.net-web-api odata

如何在Web API中创建一个POST / PUT终结点,该终结点接受ODataQueryOptions对象以及主体中的其他两个整数?

我目前有一个GET端点,该端点接受ODataQueryOptions对象和另外两个int作为查询参数,当我使用OData $ filter时可以使用。该请求看起来像:

https://localhost:80/search?$filter=Room%2Number+eq+101&type=2

问题是我现在需要过滤器来过滤私有数据(例如信用卡号),但是我希望私有数据位于正文中而不是url中。

我尝试在Web API中修改端点,如下所示:

[HttpPut]
[EnableQuery]
public IHttpActionResult GetRooms([FromBody] RoomQueryModel model)
{
    ...
    return Ok(results)
}

但是所有数据都是从端点返回的,没有进行任何过滤。

是否甚至可以创建可以过滤的POST Web API OData端点?

0 个答案:

没有答案