2016-02-29 36 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