2011-01-04 13 views
9

Gibt es irgendwelche guten Zuschreibungen zum Erstellen von RESTful-APIs mit Drupal? Ich sehe die Services-API, von der ich denke, dass sie so ist. Ich suche nach einem Vergleich von Drupal und anderen Frameworks für diesen speziellen Zweck.Drupal als Backend für RESTful API?

Update - ein bisschen mehr Info:

Insbesondere werde ich wahrscheinlich json werden wollen, Rückkehr und idealerweise HTTP-Anforderung Verben (PUT, POST, GET, DELETE) richtig mit der gemeinsamen Ressource URLs. I.e. http://mysite/api/widgets/1 (POST -> erstellen, GET -> Ansicht, PUT -> UPDATE, DELETE -> löschen) im Gegensatz zu http://mysite/api/widgets/1/delete

Antwort

7

ich mit einem anderen Rahmen nicht vergleichen kann, aber Service 3.x (das ist die Version 3 des Services-Modul) stellt ein Ressourcengesteuertes Modell für den Service mit einem REST-Backend (und einem XML-RPC). Laut seiner Dokumentation können Sie create a new resource type ganz einfach (wenn Sie mit Drupal vertraut sind) eine einfache API verwenden, da es sich um JSON [P]/XML-Parsing und Serialisierung kümmert.

aktualisiert, von David Eads' Antwort aufgefordert: Ich würde nicht mit Drupal und Dienstleistungen 3.x gestartet werden, wenn die einzige Notwendigkeit Ende ist ein RESTful Service zu bauen. Sie sind keine generische Lösung, um ein Daten-Backend mit einer RESTful-API zu erstellen. Sie sollten verwendet werden, wenn eine CMS-gestützte Website benötigt wird, die ihre Daten über eine REST-konforme API (teilweise) verfügbar macht.

2

Ich habe nicht mit Drupal 7 für solche Zwecke gearbeitet, aber im Sommer wurde ich mit dem Aufbau eines RESTful Service in Drupal 6 beauftragt. Drupal 6 ist ziemlich ungeeignet für die Entwicklung von Web-Services: Das Datenmodell ist gebaut Content-Nodes, und das Themes-System ist darauf ausgerichtet, gerendertes HTML zurückzugeben, so dass Sie mit dem Framework eine Menge zu kämpfen haben.

Das Service-Modul ist in Ordnung, aber letztlich gingen wir mit Django Piston. Die Entwicklung des Dienstes in Piston dauerte viel weniger Zeit und war zuverlässig und leistungsfähig.

3

Drupal Services 3.0 erleichtert das Erstellen von REST-Services viel einfacher als mit den vorherigen Versionen (2.x). Auch Dienstleistungen 3.0 funktioniert mit Drupal 6 und Drupal 7.

+0

nicht sicher, warum diese überstimmt wurde. Wenn ich * nur * einen REST-Service von Grund auf neu erstellen würde, würde ich Drupal nicht verwenden. Aber wenn ich zufällig eine Drupal-Site erstellen würde und eine REST-API benötige - so würde ich das tun. – jbrass

2

Wenn Sie eine RESTful-Architektur gebaut für einen guten Rahmen suchen, würde ich stark vorschlagen:

1. Recess Framework Nun, Aussparung ist groß, Sie direkte Routen zu Funktionen über URL und Redirect-Steuerung zu anderen Funktionen. Es hat einen einfachen ORM, mit dem Sie großartige Dinge in kurzer Zeit erledigen können.

2. Fat-Free Framework Ich habe F3 nicht verwendet, aber ich weiß, seine einfache, gut dokumentiert, ermöglicht Routing für erholsame Architektur und hat seine ORM