Я хочу найти OData-Service для отдельных записей, содержащих подстроки имен или адресов, которые я ввожу в свой интерфейс. Объект sap.ui.model.odata.v2.ODataModel имеет метод read(), который предназначен только для этого, но я вообще не получаю документацию. Я хочу найти коллекцию «PatientSet» моей OData-Service для определенных подстрок имен. Кроме того, я хочу искать определенные адреса в одной службе с тем же поисковым запросом. «AddressSet» - это коллекция для себя, связанная с «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() - «Запустит запрос GET для службы odata, который был указан в конструкторе модели. Данные будут сохранены в модели. Запрошенные данные возвращаются с ответом». же ответ, который я получаю на эту просьбу, говорит что-то совершенно другое:
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
Далее следует ответ XML, содержащий первую тысячу записей в коллекции «PatientSet». Итак, почему метод «read()» запускает пакетный запрос, содержащий POST-запрос? И почему вообще нет фильтрации?
Это то, чего я пытаюсь достичь: http://stackoverflow.com/questions/39791655/odata-v2-filtering-in-expanded-collection – doktormatte