![](/img/trans.png)
[英]Using the ODATA $expand query option with WebAPI and a ViewModel
[英]OData (create custom) query option
我需要創建一個自定義查詢選項,老實說我不知道從哪里開始。 我不知道它們是如何創建的或什么類處理它們。 在我的項目中,我使用了 Markdown,但我還需要啟用(在這種情況下標記的文本將是 markdown)或禁用(在這種情況下我將使用純文本)。
在這一點上,我的解決方案是向函數發送一個參數並告訴它何時啟用/禁用
前任:
.../.../Namespace.MyFunction(markdown=1)
但我正在尋找一種方法來獲得這個
.../.../...?$markdown=true
類似於計數查詢選項。
謝謝
美元符號前綴只能與系統查詢選項一起使用。 將$
視為保留的命名空間。 您當然可以使用自己的特定於應用程序的查詢選項; 只是不要在它們前面加上$
。
要獲得的值markdown
從像請求URI http://host/path?markdown=true
從控制器內的方法,可使用GetQueryNameValuePairs
擴展方法。 另請參閱如何將所有查詢字符串參數作為字典訪問。
由於您使用的是 ASP.NET,您也可以只使用常規參數綁定。
例如,具有以下原型的ODataController
操作方法:
[EnableQuery]
public IQueryable<MyEntity> Get(string testParam = "")
將在以下 URL 處為請求提供服務:
http://your.machine/api/odata/myentity?$count=true&$top=10&$skip=0&testParam=true
OData 參數$count
、 $top
和$skip
都將受到尊重,並且您的自定義testParam
將在Get
方法中分配字符串"true"
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.