我在这里有点迷失。
考虑以下方法:
[ODataRoute(" MktInstrument(符号= {符号})&#34)] public MktInstrument MktInstrument(string symbol){
我使用以下形式的URL来调用它:
http://localhost/MktInstrument(Symbol='!外汇EURxUSD&#39)
这很好 - 但变量符号现在包括'包装参数。
如果我把它放入模板
[ODataRoute(" MktInstrument(符号=' {符号}')&#34)]
我收到模板无效的错误。
如果我把它称之为warapping
http://localhost/MktInstrument(Symbol=FOREX!EURxUSD)
然后不调用该方法。我真的应该删除''在我自己的字符串参数周围或者我错过了什么?
答案 0 :(得分:1)
在你的控制器中,你可以使动作方法像“public IHttpActionResult Function([FromODataUri] string symbol”),这意味着你添加属性[FromODataUri],它不会有单引号。您可以参考http://odata.github.io/WebApi/#04-06-function-parameter-support,相关声明是 '[FromODataUri]'对于复杂,实体和所有集合都是必需的。但是,对于Primitive&amp ;;它是可选的。枚举。但对于字符串基元类型,该值将包含单引号而不包含“[FromODataUri]”。