在与我的同事的讨论中,出现了一个问题,即是否必须eq true在调用substringofOData 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其列为其替代方案之一。但是boolMethodCallExprABNF 中没有符号的定义!
所以,我猜这是 ABNF 中的一个错误,并且列出的正确替代方案必须是boolMethodExpr,而不是boolMethodCallExpr:
boolMethodExpr = endsWithMethodCallExpr /
startsWithMethodCallExpr /
substringOfMethodCallExpr /
intersectsMethodCallExpr /
anyMethodCallExpr /
allMethodCallExpr
substringof在这种情况下,允许在 URI 中不调用方法eq true(以及 with eq true)。
我的理解正确吗?