Введение.
Зачем вам нужен сервис RESTful на Meteor? Метеор привлекает простотой использования и возможностью очень быстро создать работающее приложение с минимальным набором функций.
У Meteor хорошо развитое сообщество.
Имеется множество полезных дополнительных модулей, которые не требуют сложной настройки и могут быть использованы сразу после установки.
Есть хорошая документация, примеры и большое количество постов на форумах, типа Переполнение стека .
Meteor — это полнофункциональная платформа, предлагающая удобную и многофункциональную интеграцию сервера и клиента.
Так зачем выходить за рамки этого взаимодействия и создавать RESTful услуга? Клиент-серверное приложение , по сути, состоит из 2-х независимых частей, взаимодействующих через определенный интерфейс.
Более того, каждая часть клиент-серверного приложения может создаваться разными людьми или командами.
Разработчики клиентской части совершенно не ограничены использованием Meteor, они могут использовать любой другой JS-фреймворк, клиент даже не обязательно должен быть написан на JS, это может быть, например, Android-приложение, написанное на Java, или iOS-приложение, написанное на Objective C.
Именно эти причины заставили меня выбрать Meteor для создания серверной части моего проекта и искать способы создания RESTful-сервиса на Meteor.
Обзор доступных модулей
После некоторого времени, потраченного на поиск подходящих модулей, я составил следующий список: github.com/meteorhacks/picker — использует маршрутизацию, аналогичную той, что используется, скажем, в Экспресс.js
с возможностью отправки ответа в формате JSON github.com/crazytoad/meteor-collectionapi позволяет создавать конечные точки API для операций CRUD с коллекциями.Picker.route('/post/:_id', function(params, req, res, next) { var post = Posts.findOne(params._id); res.end(post.content); });
Нет механизмов разграничения уровней доступа (например: гость, авторизованный пользователь, администратор), авторизации или создания пользовательских конечных точек.
github.com/kahmali/meteor-restivus позволяет создавать конечные точки API для операций CRUD с коллекциями.
Есть механизмы авторизации, разграничения уровней доступа и создания пользовательских конечных точек.
Более подробно этот пакет будет рассмотрен ниже.
github.com/Differential/reststop2 - устаревшее и неподдерживаемое решение.
На главной странице ресурса есть ссылка на проект Restivus, указывающая на то, что все доступные функции этого решения также доступны в Restivus. github.com/stubailo/meteor-rest позволяет создавать конечные точки API для операций CRUD с коллекциями.
Существуют механизмы авторизации и создания пользовательских конечных точек.
Механизмов разграничения уровней доступа не существует. В документации отсутствует ясность и рабочие примеры.
Позволяет интегрировать Restivus для создания пользовательских конечных точек.
Потому что Restivus обладает всеми необходимыми мне функциями и имеет наибольшее количество звезд как на GitHub, так и на GitHub. Атмосфера , а также потому, что еще 2 проекта из приведенного выше списка ссылались на Restivus, я решил выбрать именно его.
Использование коллекций, операций CRUD и уровней доступа
Использовать Рестивус очень просто.
Для установки введите в консоли: meteor add nimble:restivus
Чтобы создать службу RESTful, добавьте в код сервера следующие условия: if (Meteor.isServer) {
Теги: #meteor #Meteor.JS #Meteor.JS #rest #rest api #restful #restful api #разработка веб-сайтов #JavaScript #программирование #node.js #Meteor.JS
-
Это Жизненно Важное Время Для Кабеля Hdmi.
19 Oct, 24 -
Спекторский Евгений Васильевич.
19 Oct, 24 -
Ii Форум Открытых Технологий В Екатеринбурге
19 Oct, 24 -
Как Найти Ит-Специалиста В России: Миф №1
19 Oct, 24