WebApi Odata 字符串参数 - 如何摆脱 ' for 函数?
WebApi Odata string parameters - how to get rid of the ' for functions?
我有点迷路了。
给定以下方法:
[ODataRoute("MktInstrument(Symbol={symbol})")]
public MktInstrument MktInstrument(字符串符号){
我使用 URL 的形式调用它:
http://localhost/MktInstrument(Symbol='FOREX!EURxUSD')
这很好 - 但变量符号现在包含包装参数的 '。
如果我把它放到模板中
[ODataRoute("MktInstrument(Symbol='{symbol}')")]
我收到模板无效的错误消息。
如果我调用它时没有 warapping
http://localhost/MktInstrument(Symbol=FOREX!EURxUSD)
则不调用该方法。我真的应该自己删除字符串参数周围的 '' 还是我遗漏了什么?
在你的控制器中,你可以使操作方法像 "public IHttpActionResult Function([FromODataUri]string symbol)" 这意味着你添加属性 [FromODataUri],它不会有单引号。可以参考http://odata.github.io/WebApi/#04-06-function-parameter-support,相关的说法是
“[FromODataUri]”对于复杂、实体和所有集合是必需的。但是,它对于 Primitive & Enum 是可选的。但对于字符串原始类型,该值将包含单引号而不包含'[FromODataUri]'。
我有点迷路了。
给定以下方法:
[ODataRoute("MktInstrument(Symbol={symbol})")] public MktInstrument MktInstrument(字符串符号){
我使用 URL 的形式调用它:
http://localhost/MktInstrument(Symbol='FOREX!EURxUSD')
这很好 - 但变量符号现在包含包装参数的 '。
如果我把它放到模板中
[ODataRoute("MktInstrument(Symbol='{symbol}')")]
我收到模板无效的错误消息。
如果我调用它时没有 warapping
http://localhost/MktInstrument(Symbol=FOREX!EURxUSD)
则不调用该方法。我真的应该自己删除字符串参数周围的 '' 还是我遗漏了什么?
在你的控制器中,你可以使操作方法像 "public IHttpActionResult Function([FromODataUri]string symbol)" 这意味着你添加属性 [FromODataUri],它不会有单引号。可以参考http://odata.github.io/WebApi/#04-06-function-parameter-support,相关的说法是 “[FromODataUri]”对于复杂、实体和所有集合是必需的。但是,它对于 Primitive & Enum 是可选的。但对于字符串原始类型,该值将包含单引号而不包含'[FromODataUri]'。