首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >它是否是有效的ABNF ( OData OData文档中是否存在错误)?

它是否是有效的ABNF ( OData OData文档中是否存在错误)?
EN

Stack Overflow用户
提问于 2013-02-01 08:26:06
回答 1查看 190关注 0票数 0

在与我的同事讨论时,出现了一个问题,即是否必须在调用OData URL过滤器中的substringof方法后添加eq true

代码语言:javascript
复制
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title)
http://localhost/Collection/WorkItems()?$filter=substringof('crash',Title) eq true

现在我在和ABNF for OData revised on 4/27/2012商量。看一下filter表达式形式,它需要一个boolCommonExpr

代码语言:javascript
复制
filter                      =   "$filter" [ WSP ] "=" [ WSP] boolCommonExpr

boolCommonExprboolMethodCallExpr列为其替代方案之一。但是在ABNF中没有boolMethodCallExpr符号的定义!

因此,我猜测这是ABNF中的错误,列出的正确替代方法必须是boolMethodExpr,而不是boolMethodCallExpr

代码语言:javascript
复制
boolMethodExpr              =   endsWithMethodCallExpr /
                                startsWithMethodCallExpr /
                                substringOfMethodCallExpr /                                         
                                intersectsMethodCallExpr /
                                anyMethodCallExpr /
                                allMethodCallExpr

在这种情况下,允许在URI中没有eq true的情况下调用substringof方法(以及使用eq true)。

我的理解正确吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-06 05:25:45

您不需要在URL的末尾包含“eq true”。任何返回布尔值的内置函数本身都应该足够好。这看起来可能只是ABNF中的一个打字错误(特别是考虑到boolMethodCallExpr没有定义)。这个特定的文档甚至还不完整,其中有几个待办事项。随着OData的OASIS标准化的出现,应该会出现一个更明确的ABNF。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14637698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档