2016-02-29 39 views
0

我有点迷路了。WebApi Odata字符串参数 - 如何摆脱'for函数?

给出以下方法:

[ODataRoute( “MktInstrument(符号= {符号})”)] 公共MktInstrument MktInstrument(字符串符号){

我把它的形式使用URL的:

http://localhost/MktInstrument(Symbol= '!FOREX EURxUSD')

这是很好的 - 但是变量符号现在包括'是包装参数。

,如果我将它放入模板

[ODataRoute( “MktInstrument(符号= '{}符号')”)

我得到一个错误,模板是无效的。

如果我把它不用其他的warapping

http://localhost/MktInstrument(Symbol=FOREX!EURxUSD)

则该方法不被调用。我真的应该删除字符串参数周围的''我自己还是我错过了什么?

回答

1

在你的控制器中,你可以像“public IHttpActionResult Function([FromODataUri]字符串符号)”这样的操作方法,这意味着你添加属性[FromODataUri],它不会有单引号。您可以参考http://odata.github.io/WebApi/#04-06-function-parameter-support,相关声明是 '[FromODataUri]'对于复杂,实体和所有集合都是强制性的。但是,对于Primitive & Enum它是可选的。但对于字符串原始类型,该值将包含没有'[FromODataUri]'的单引号。

+0

谢谢。忽视那一个;) – TomTom