如何在C#中解析OData $filter
作者:互联网
操纵odata过滤器
如何操作后端中的过滤器并想要过滤查询参数的键值对?
表达式如下
“?$filter =((Name eq ‘John’ or Name eq ‘Grace Paul’) and (Department eq ‘Finance and Accounting’))”
由于有2个过滤器连接在一起.我怎样才能得到像这样的价值观
Filter 1:
Key: Name
Operator: eq
Value: Name
Operator: or
Filter 2:
Key: Name
Operator: eq
Value: Grace Paul
Operator: and
Filter 3:
Key: Department
Operator: eq
Value: Finance and Accounting
我试过了
> ODataUriParser,但它似乎不支持ASP.NET核心2.1 web api.
>正则表达式 – 使用这个stack overflow question,它似乎不适用于我的情况,因为我的第三个过滤器包含并且在值和&所以正则表达式失败了.
>方法中的ODataQueryOptions,但它给出了原始文本,它无法提取到像上面提到的键值对.
我正在使用ASP.NET Core 2.1 Web API与OData v4集成
有没有办法实现上述目标?
解决方法:
我知道这不是解决方案,而是与您分享以防万一它以后会帮助您.这是为了匹配’:’右侧的所有值
/(?<=: )[\w ]+/gm
标签:c,regex,asp-net-core-2-1,odata-v4 来源: https://codeday.me/bug/20190710/1425313.html