Используйте в запросе параметр $orderby, чтобы сортировать результаты по указанному в параметре свойству.
Формат URL:
{Протокол https или http}://{имя сервера, на котором установлен сервис интеграции}/{имя сервиса интеграции}/odata/{Интерфейс типа сущности во множественном числе}?$orderby={Имя свойства} {Ключевое слово (необязательно)}
Чтобы сортировать значения по возрастанию, не используйте ключевое слово совсем или добавьте ключевое слово asc.
Пример:
GET /Integration/odata/ISimpleDocuments?$orderby=Id HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
Пример кода для создания аналогичного запроса, написанного на языке C# с использованием библиотеки Simple.OData.Client:
// URL сервиса интеграции.
private const string IntegrationServiceUrl = "https://DirectumRXServer.com/Integration/odata/";
// Логин для Basic-аутентификации.
private const string Login = "IntegrationUser";
// Пароль для Basic-аутентификации.
private const string Password = "11111";
// Настройки Simple OData Client: добавление URL сервиса и заголовка
// с данными аутентификации ко всем запросам.
var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl));
odataClientSettings.BeforeRequest += (HttpRequestMessage message) =>
{
var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}"));
message.Headers.Add("Authorization", "Basic" + authenticationHeaderValue);
};
var odataClient = new ODataClient(odataClientSettings);
// Создание запроса.
var document = await odataClient.For("ISimpleDocuments")
.OrderBy("Id")
.FindEntriesAsync();
Чтобы сортировать значения по убыванию, используйте ключевое слово desc.
Пример:
GET /Integration/odata/ISimpleDocuments?$orderby=Id desc HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
Пример кода для создания аналогичного запроса, написанного на языке C# с использованием библиотеки Simple.OData.Client:
// URL сервиса интеграции.
private const string IntegrationServiceUrl = "https://DirectumRXServer.com/Integration/odata/";
// Логин для Basic-аутентификации.
private const string Login = "IntegrationUser";
// Пароль для Basic-аутентификации.
private const string Password = "11111";
// Настройки Simple OData Client: добавление URL сервиса и заголовка
// с данными аутентификации ко всем запросам.
var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl));
odataClientSettings.BeforeRequest += (HttpRequestMessage message) =>
{
var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}"));
message.Headers.Add("Authorization", "Basic" + authenticationHeaderValue);
};
var odataClient = new ODataClient(odataClientSettings);
// Создание запроса.
var document = await odataClient.For("ISimpleDocuments")
.OrderByDescending("Id")
.FindEntriesAsync();
Можно сортировать результаты запроса по нескольким свойствам. Для этого перечислите их через запятую. Например, чтобы отсортировать простые документы сперва по возрастанию даты создания, а потом – по убыванию даты изменения документа, используйте следующий запрос:
GET /Integration/odata/ISimpleDocuments?$orderby=Created asc, Modified desc HTTP/1.1
Host: DirectumRXServer.com
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json
Accept: application/json
Пример кода для создания аналогичного запроса, написанного на языке C# с использованием библиотеки Simple.OData.Client:
// URL сервиса интеграции.
private const string IntegrationServiceUrl = "https://DirectumRXServer.com/Integration/odata/";
// Логин для Basic-аутентификации.
private const string Login = "IntegrationUser";
// Пароль для Basic-аутентификации.
private const string Password = "11111";
// Настройки Simple OData Client: добавление URL сервиса и заголовка
// с данными аутентификации ко всем запросам.
var odataClientSettings = new ODataClientSettings(new Uri(IntegrationServiceUrl));
odataClientSettings.BeforeRequest += (HttpRequestMessage message) =>
{
var authenticationHeaderValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{Login}:{Password}"));
message.Headers.Add("Authorization", "Basic" + authenticationHeaderValue);
};
var odataClient = new ODataClient(odataClientSettings);
// Создание запроса
var document = await odataClient.For("ISimpleDocuments")
.OrderBy("Created")
.ThenByDescending("Modified")
.FindEntriesAsync();
© Компания Directum, 2024 |