Управление Данными С Помощью Протокола Odata

Протокол открытых данных ( ОДата ) — это открытый веб-протокол для запроса и обновления данных.

Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, а также обмениваться данными в форматах JSON или XML. OData — один из лучших стандартов для создания RESTful API. Запросить данные можно с помощью простых HTTP-запросов, например:

https://samples.databoom.space/api1/sampledb/collections/persons?$filter=firstname eq 'Ламар' Найдите всех людей по имени Ламар.

OData позволяет задавать огромное количество параметров, которые позволяют создавать очень сложные запросы к источнику данных, например:
https://samples.databoom.space/api1/sampledb/collections/books?$filter=publisher/president/likes/author/firstname eq 'Джорджи'&$top=10&$orderby=title Выберите все книги, удовлетворяющие следующему условию: президент издательства, в котором вышла книга, любит книги определенного автора с именем «Джорджи».

Результат запроса необходимо отсортировать по названию и вернуть первые 10 книг.

Язык запросов OData по мощности сравним с SQL.

Основные функции OData

  • Простое чтение данных (запросы без параметров)
    • Получение коллекции объектов
    • Получение одного объекта
    • Получение индивидуальной собственности
    • Получение объектов из соединений.

      Например, получение списка друзей друзей.

  • Параметризованные запросы (поиск, сортировка и т. д.)
    • Поиск по критериям («меньше», «больше» и т.п.

      ), возможность построения сложных условий с помощью логических выражений.

    • Поиск по ссылкам (по связанным объектам)
    • Сортировка по любому набору полей
    • Получение сложных сложных объектов, например, получение данных о человеке вместе с его номерами телефонов и списком друзей.

    • Пейджинг
  • Добавление данных
    • Добавление простых объектов
    • Добавление коллекций объектов
    • Добавление составных объектов (вместе с вложенными объектами)
  • Модификация данных
    • Модификация отдельных свойств (полей)
    • Замена всего объекта на новый
  • Удаление данных
    • Удаление объектов
    • Удаление коллекций
    • Удаление отдельных свойств (полей)
  • Добавление, изменение и удаление связей между объектами


Библиотеки для работы с OData

В настоящее время существует большое количество библиотек, поддерживающих протокол OData, и каждый день появляются новые.

В частности, с OData работают следующие библиотеки JavaScript: Кендо пользовательский интерфейс , DevExtreme Веб , Элементы управления HTML5 Syncfusion , Инфрагистические элементы управления HTML5 , OpenUI5 , Веймо , ДжейДата , Бриз.

js , данныеjs , ODataJS , angular-odata и т. д. Также есть библиотеки для Java, .

NET, C++, Python, Objective-C и т. д. Многие из этих библиотек значительно упрощают разработку сложных приложений благодаря стандарту OData. Например, элементу управления сеткой достаточно указать URL-адрес OData-сервера, и все остальное он сделает сам: разбиение по страницам, сортировку, добавление, изменение, удаление записей, фильтрацию данных, группировку и т. д.

NitrosBase.js – готовый OData-сервер

NitrosBase.js — это готовый к использованию сервер OData. Он позволяет создавать базу данных, добавлять произвольные объекты JSON без описания схемы данных и выполнять запросы OData для получения и изменения данных.

Классический вариант использования NitrosBase.js — быстрая разработка прототипов приложений, работающих с сервером OData. При разработке прототипа вы можете просто разместить на форме необходимые элементы управления, и они сразу заработают без создания серверного кода.

Если вы добавляете или удаляете поля в объектах JavaScript, изменяете связи между объектами, вам не придется менять схему базы данных и модифицировать серверные коды.

При этом он позволяет выполнять запросы любой сложности.

Разрабатывая живой прототип приложения, вы получаете полную спецификацию вашего API и установленную схему данных.

Теперь вы можете приступить к разработке сервера или оставить NitrosBase.js. NitrosBase.js — наш новый проект ( http://databoom.space ) и хотелось бы услышать рекомендации сообщества по улучшению и развитию проекта.

Теги: #odata #json #JavaScript #restful #rest #rest apiful api #разработка веб-сайтов #JavaScript #программирование

Вместе с данным постом часто просматривают: