問題タブ [odata-v4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 「and」演算子を使用した OData フィルターが Web API で機能しない
以下の取得リクエストを処理する単一の GET アクションで Web Api を作成しています。
GET https://localhost:44378/v1/RoutePrefix/Route ?$filter=Id eq '1234'$select=Name (これは問題なく動作します)
GET https://localhost:44378/v1/RoutePrefix/Route ?$filter=Id eq '1234' または MessageType eq '1' (これは問題なく動作します)
GET https://localhost:44378/v1/RoutePrefix/Route ?$filter=Id eq '1234' and MessageType eq '1' (これは機能していません。応答値は常に [] です)
「and」演算子を使用したフィルターが機能していないようです。「または」演算子は私にとってはうまく機能します。
webapiconfig.cs に以下のコードがあります。
私のコントローラーでは、フィルターパラメーターの数に基づいて、別のメソッドを呼び出します。どちらのメソッドも、GET メソッドへの応答として List を返します。メインの get メソッドでは、Ok(List.AsQueryable()) として返します。
[EnableQuery] 属性でコントローラーを装飾し、以下のように ODataController を実装しました。
[EnableQuery] public class RouteController : ODataController
Get メソッドは次のようになります。
何が間違っているのか教えてください。
ありがとう