REST

REST: Representational_State_Transfer

Wikipedia: http://en.wikipedia.org/wiki/Representational_State_Transfer

Další informace: http://bitworking.org/news/How_to_create_a_REST_Protocol

Citace z http://zapisnik.maly.cz/481925-api-a-php-dil-druhy.php

REST nahlíží na webovou službu jako na souhrn zdrojů dat (resources), z nichž každý má svou URL a požadovaná operace je určena typem HTTP požadavku. Příklad:

http://www.mlp.cz/pepa/notes/ – poznámky uživatele „pepa“
http://www.mlp.cz/pepa/notes/42 – poznámka 42 uživatele „pepa“

Pokud chce klient získat informaci z daného zdroje, pošle HTTP požadavek GET na dané URL. Pokud chce klient vytvořit data, pošle požadavek POST. Požadavkem DELETE vybraný zdroj smaže a požadavkem PUT jej upraví. O výše zmíněné smazání poznámky 42 tedy klient požádá zhruba takovýmto HTTP požadavkem:

DELETE /pepa/notes/42 HTTP/1.1
User-Agent: MojeAplikace/1.0
Host: www.mlp.cz

Píšu ZHRUBA, protože takto by bylo mazání velice „liberální...“ Je potřeba nějak ověřit, že ten, kdo chce přistupovat k datům, má taky právo k nim přistupovat. O autentizaci uživatele ale až příště.

Pro inspiraci můžete kouknout na REST implementaci SQL operací: http://phprestsql.sourceforge.net/

Dva tipy, které se při programování REST API mohou hodit:

echo $_SERVER['REQUEST_METHOD'];
vypíše typ HTTP požadavku (GET, POST, ...)

echo join('',file('php://input'));
vypíše tělo HTTP požadavku v surové podobě


Reklama AdSense

Powered by Drupal - Design by artinet