When I say hypertext, I mean the simultaneous presentation of information and controls such that the information becomes the affordance through which the user (or automaton) obtains choices and selects action.
Roy T. Fielding - http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven
Chodzi o jedną z podstawowych ograniczeń architektury REST - Hypermedia jako silnik Application państwa (w skrócie hateoas). Oznacza to, że w danym momencie klient, w oparciu o hipermedia w reprezentacji bieżącego zasobu, musi mieć wszystkie informacje, jakich potrzebuje, aby zdecydować, dokąd dalej przesiadać (zmienić jego Stan Aplikacji). Ta hipermedia kontroluje hipertekst łączy zasoby ze sobą i opisuje ich możliwości w sposób czytelny dla komputera. Klient REST musi znać jedną rzecz, aby komunikować się z serwerem REST - zrozumienie hipermedii. Po przeciwnej stronie, w architekturze zorientowanej na usługi (SOA), klienci i serwery współdziałają poprzez stały interfejs współdzielony przez dokumentację lub język opisu interfejsu (IDL).
HATEOAS oddziela klienta i serwer, aby można je było rozwijać osobno.
Na przykład
Jeśli dokona wstępnego połączenia z usługą spoczynku dodać klientowi korzystanie z niektórych URL/klientów/wtedy dostaniesz odpowiedź z powrotem (rozważyć klient pomyślnie dodana),
HTTP/1.1 201 Created
Location: http://www.myREST/customers/<uuid>/
Teraz klient, który wykonał połączenie, aby dodać klienta, wie, jak znaleźć odpowiedniego klienta z linku zwróconego jako nagłówek odpowiedzi.
Możesz zapytać, w jaki sposób klient wie, że może wystawić POST na/customer /. W różny sposób - kontrola hipermedialna, specyficzne dla DSL formaty i profile.
Nie, "REST" nie oznacza "poprawnego działania HTTP". Ta ostatnia jest dobra, ale REST zapewnia znacznie więcej aspektów. –
Dzięki. Kiedy powiedziałem poprawnie, mam na myśli, przywłaszczone użycie w api. Dzięki jeszcze raz. –