2017-05-16 10 views
0

私は、フィルタのいくつかのタイプを受け入れ、その後http://crmorg/v2/api/odataqueryoptionsではなくodataフィルタを文字列として受け入れることは可能ですか?

public IHttpActionResult Get(ODataQueryOptions options) 
{ 
//execute GET against http://crmorg/v2/api/options.Request.RequestUri.PathAndQuery; 
} 
代わりに上記を行うための

が、私は単にODATAフィルタとして文字列を受け入れることができるなどのWeb APIエンドポイントに対する要求を転送する必要があり、コントローラを持っています以下のような:

public IHttpActionResult Get(string options) 
{ 
// 
} 

は、私は、文字列としてコントローラに直接ODATAフィルタを渡すことはできますか?

答えて

0

理論上、あなたはそれを行うことができます。しかし:

  • あなたは、クエリ文字列を解析し、すべての可能な入力のバリエーションの世話(ソート、マルチのparamsについて考え、ページングする必要がある必要があると思い
  • デフォルトのプロパティマッピングを使用することはできないと思います、フィルタリング)
  • あなたは、データベースクエリを考え出す必要があるだろうし、それは要するにオプション

だ - あなたはめったにそれを行う必要がありません。モデルを試してみて、Web APIで利用可能な機能を使用する方法があるかどうかを確認してください。

関連する問題