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ě
