Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Geleitwort des Fachgutachters
Einleitung
1 Einführung
2 Installation
3 Erste Schritte
4 Einführung in Ruby
5 Eine einfache Bookmarkverwaltung
6 Test-Driven Development
7 Rails-Projekte erstellen
8 Templatesystem mit ActionView
9 Steuerzentrale mit ActionController
10 Datenbankzugriff mit ActiveRecord
11 E-Mails verwalten mit ActionMailer
12 Nützliche Helfer mit ActiveSupport
13 Ajax on Rails
14 RESTful Rails und Webservices
15 Rails mit Plug-ins erweitern
16 Performancesteigerung
17 Sicherheit
18 Veröffentlichen einer Rails-Applikation auf einem Server
Ihre Meinung?

Spacer
 <<   zurück
Ruby on Rails 2 von Hussein Morsy, Tanja Otto
Das Entwickler-Handbuch
Buch: Ruby on Rails 2

Ruby on Rails 2
geb., mit DVD
699 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-89842-779-1
Online bestellenPrint-Version jetzt bestellen
* versandkostenfrei in (D) und (A)
Pfeil 14 RESTful Rails und Webservices
  Pfeil 14.1 Was sind Webservices?
  Pfeil 14.2 REST
  Pfeil 14.3 RESTful Rails
  Pfeil 14.4 Einen Webservice anbieten
  Pfeil 14.5 Zugriff auf einen Webservice mit ActiveResource


Rheinwerk Computing - Zum Seitenanfang

14.2 REST  Zur nächsten ÜberschriftZur vorigen Überschrift

Representational State Transfer

Unter dem Begriff REST (Representational State Transfer) findet eine Rückbesinnung auf grundlegende Web-Technologien statt, die die Implementierung verteilter, webbasierter Systeme vereinfachen sollen. Bei dieser Technik erfolgt die Kommunikation ausschließlich über das HTTP- Protokoll.

REST ist ein komplexes Thema, das wir Ihnen anhand unserer Ressource Airport aus unserer Beispielapplikation railsair erläutern wollen.

Zugriff über HTTP

Der REST-Standard definiert einen Standard, wie mit dem HTTP-Protokoll ein Zugriff auf Ressourcen (z. B. eine News-Meldung) erfolgen kann. Mit »Zugriff« ist nicht nur die Anzeige einer Ressource gemeint, sondern auch die Möglichkeit, eine Ressource z. B. löschen zu können.


Rheinwerk Computing - Zum Seitenanfang

Ressourcen / Nomen  Zur nächsten ÜberschriftZur vorigen Überschrift

Uniform Resource Locator

Eine URL (Uniform Resource Locator) identifiziert eine Ressource. Ressourcen können sein:

  • eine News-Meldung
  • Detailansicht eines Bookmarks
  • Liste aller Bookmarks
  • ein Suchformular
  • ein Dokument
  • ein Bild

Adresse

Die URL ist daher nichts anderes als die Adresse einer Ressource. Zum Beispiel lautet die URL zu einer ganz bestimmten News auf heise online:

http://www.heise.de/newsticker/meldung/100265

In diesem Fall ist die Ressource eine Newsmeldung. Eine Ressource wird im REST-Standard auch als Nomen bezeichnet.

Für die Anzeige einer Ressource muss die URL lediglich im Adressfeld eines Browsers eingegeben werden.

Beispiele

In der URL sollte nur der Pfad zu einer Ressource angegeben werden und nicht auch noch, was mit der Ressource passieren soll, so wie in unserem Beispiel (Standard-Routing :controller/:action/:id):

  • http://localhost:3000/airports/show/12
    Zeige den Flughafen mit der ID 12 an.
  • http://localhost:3000/airports/destroy/1
    Lösche den Flughafen mit der ID 1.
  • http://localhost:3000/airports/update/12
    Ändere den Flughafen mit der ID 12.
  • http://localhost:3000/airports/create
    Füge einen neuen Flughafen hinzu.

In diesen URLs wird sowohl ein Befehl (show, destroy usw.) als auch die Ressource (Airport mit der ID 12) angegeben. Nach dem REST-Standard ist diese Doppelfunktion möglichst zu vermeiden, da in der URL nur die Ressource angegeben werden soll. (In der Praxis lässt sich das jedoch nicht immer vermeiden.)


Rheinwerk Computing - Zum Seitenanfang

HTTP-Methoden / Verben  topZur vorigen Überschrift

Es stellt sich jedoch die wichtige Frage, wie man nach dem REST-Standard eine Anfrage stellt, um z. B. eine Ressource zu löschen.

GET, POST, PUT, DELETE

Die Lösung hierfür sind die HTTP-Methoden. Jeder, der schon einmal HTML-Seiten erstellt hat, kennt die beiden HTTP-Methoden GET und POST. Die wenigsten kennen jedoch PUT und DELETE.

Beim REST-Standard kommt den HTTP-Methoden eine besondere Bedeutung zu. Sie geben an, was mit der Ressource passieren soll. Es gibt noch weitere HTTP-Methoden wie HEAD und OPTIONS, die aber in Rails nicht eingesetzt werden.

Verben

Die HTTP-Methoden werden nach dem REST-Standard auch Verben genannt.

Allgemeiner Aufruf

Wenn eine URL angefragt wird, wird immer angegeben, mit welcher HTTP-Methode die Anfrage gesendet wurde.

Folgende Bedeutung haben die HTTP-Methoden nach dem dem REST-Standard:

  • GET URL
    Fordert die angegebene Ressource an.
  • POST URL] Legt eine neue Ressource an.PUT URL
    Ändert die angegebene Ressource.
  • DELETE URL
    Löscht die angegebene Ressource.
  • HEAD URL
    Fordert Metainformationen für die Resource an (nicht in Rails).
  • OPTIONS URL
    Liefert die Methoden, die der Resource zur Verfügung stehen (nicht in Rails).

Beispiel

Für unsere Flughafen-Ressource bedeutet das:

  • GET http://localhost:3000/airports/1
    Fragt bzw. zeigt den Flughafen mit der ID 1 an.
  • PUT http://localhost:3000/airports/1
    Ändert den Flughafen mit der ID 1.
  • DELETE http://localhost:3000/airports/1
    Löscht den Fughafen mit der ID 1.
  • POST http://localhost:3000/airports
    Legt einen neuen Flughafen an.

In Rails ist es üblich, dass man mit dem Aufruf

GET http://localhost:3000/airports

alle Airports anfragt.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
 <<   zurück
  Zum Katalog
Zum Katalog: Ruby on Rails 2
Ruby on Rails 2
Jetzt bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Ruby on Rails 3.1






 Ruby on Rails 3.1


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Katalog: JavaScript






 JavaScript


Zum Katalog: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de