Drupal как бэкэнд для RESTful API?
есть ли хорошие записи по созданию RESTful APIs с Drupal? Я вижу API служб, и я думаю, как это делается. То, что я ищу, я полагаю, это сравнение drupal с другими фреймворками для этой конкретной цели.
Update-немного больше информации:
в частности, я, вероятно, захочу вернуть json и в идеале использовать глаголы http-запроса (PUT, POST, GET, DELETE) правильно с общими URL-адресами ресурсов. Т. е. http://mysite/api/widgets/1 (POST - > create, GET - > view, PUT - > update, DELETE - > delete) в отличие от http://mysite/api/widgets/1/delete
4 ответов
Я не могу сравнить с другими фреймворками, но Сервис 3.x (это версия 3 услуги module) предоставляет управляемую ресурсами модель для службы с бэкэндом REST (и XML-RPC). Согласно его документации, вы можете создать новый тип ресурсов довольно легко (если вы знакомы с Drupal), используя простой API, поскольку он заботится о разборе и сериализации JSON[P]/XML.
Обновлено, подсказано Дэвидом Идсом ответ: Я бы начал с Drupal и услуг 3.x если единственной конечной целью является создание Службы RESTful. Они не являются универсальным решением для создания бэкэнда данных с помощью RESTful API. Они должны использоваться, когда то, что необходимо, это веб-сайт CMS, предоставляющий (части) своих данных через RESTful API.
Drupal Services 3.0 упрощает создание служб REST по сравнению с предыдущими версиями (2.икс.) Также сервисы 3.0 работают с Drupal 6 и Drupal 7.
Я не работал с Drupal 7 для таких целей, но летом мне было поручено создать службу RESTful в Drupal 6. Drupal 6 довольно плохо подходит для разработки веб-сервисов: модель данных построена на узлах контента, а система тематизации построена на возврате визуализированного HTML, поэтому вы в конечном итоге боретесь с фреймворком.
модуль услуг приличный, но в конечном итоге мы пошли с Поршень Джанго. Развитие сервиса в поршне заняло гораздо меньше времени и было надежным и работоспособным.
Если вы ищете хорошую структуру для построения архитектуры RESTful, я бы очень предложил:
1. Рамки Перерыва Ну, перерыв отличный, вы направляете маршруты к функциям через URL и перенаправляете управление на другие функции. Он имеет простой ORM, который позволяет вам делать большие вещи за короткое время.
2. Fat-Free Framework Я не использовал F3, но я знаю его простой, хорошо документированный, позволяет маршрутизировать для архитектуры restful и имеет свой ORM