在与我的同事的讨论中,出现了一个问题,即是否必须eq true
在调用substringof
OData URL 过滤器中的方法后添加:
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title)
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title) eq true
现在我正在咨询ABNF for OData 于 4/27/2012 修订。查看filter
表达式形式,它需要一个boolCommonExpr
:
filter = "$filter" [ WSP ] "=" [ WSP] boolCommonExpr
AboolCommonExpr
将boolMethodCallExpr
其列为其替代方案之一。但是boolMethodCallExpr
ABNF 中没有符号的定义!
所以,我猜这是 ABNF 中的一个错误,并且列出的正确替代方案必须是boolMethodExpr
,而不是boolMethodCallExpr
:
boolMethodExpr = endsWithMethodCallExpr /
startsWithMethodCallExpr /
substringOfMethodCallExpr /
intersectsMethodCallExpr /
anyMethodCallExpr /
allMethodCallExpr
substringof
在这种情况下,允许在 URI 中不调用方法eq true
(以及 with eq true
)。
我的理解正确吗?