私は自分のUIに入力する名前またはアドレスの部分文字列を含む特定のエントリについてOData-Serviceを検索したいと考えています。 sap.ui.model.odata.v2.ODataModelオブジェクトには、それを行うためのメソッドread()がありますが、ドキュメントがまったく取得されていません。 OData-Serviceのコレクション "PatientSet"で特定の部分文字列を検索したいとします。さらに、同じ検索クエリで同じサービス内の特定のアドレスを検索したい。 "AddressSet"は、ナビゲーションプロパティ "Addresses"を介して "PatientSet"にリンクされているコレクションです。アドレスの検索はまだクエリに含まれていませんsap.ui.model.odata.v2.ODataModelで検索
this.oModel.read(
"/PatientSet?$expand=Addresses(/Name/Family='" + familyName + "',/Name/First='" + firstName + "')",
{
success: function(data, result) {console.log(result)},
error: function(err) {alert(err)}
}
);
:今、私の検索クエリは、このように構成されています。ドキュメンテーションは、read() - Methodは "モデルコンストラクタで指定されたodataサービスへのGETリクエストをトリガーします。データはモデルに保存されます。要求されたデータが返されます。
Request
URL:http://XXXXXXXX/proxy/http/XXXXXXXXX/sap/opu/odata/XXXXXXXXX/$batch
Request Method:POST
Status Code:202 Accepted
Remote Address:[::1]:54273
Response
--9D0C08B072143EFCC9C3A1A7A24358190
Content-Type: application/http
Content-Length: 1796287
content-transfer-encoding: binary
HTTP/1.1 200 OK
Content-Type: application/atom+xml;type=feed
Content-Length: 1796172
dataserviceversion: 2.0
はどのような次は「PatientSet」コレクションの最初の千個のエントリを含むXML応答である: はまだ私がその要求を取得することを応答が全く違う何かを言います。 なぜ、 "read()"メソッドはPOSTリクエストを含むバッチリクエストをトリガーしますか?そして、なぜフィルタリングは全くありませんか?
これは私が達成しようとしているものです: http://stackoverflow.com/questions/39791655/odata-v2-filtering-in-expanded-collection – doktormatte