Wpis z mikrobloga

#wykopapi #restapi #programowanie

Komunikacja z API odbywa się w oparciu o architekturę REST. Każdy obiekt dostępny w serwisie reprezentowany jest przez odpowiedni zasób API. Każdy z zasobów ma specyficzny zestaw metod, które można na nim wykonać.


To dlaczego można usunąć wpis GETem?

Nie wiem dokładnie na czym polega REST API. Z tego, co rozumiem, to chodzi o to, że w tym przypadku powinno być tak, że wpis ma jakiś jednoznaczny url, np. /entries/entry/12345 i na nim mogę wykonać GET, żeby odczytać, DELETE, żeby usunąć i PUT, żeby zedytować, dobrze kminię?

A tutaj mamy endpointy rodzaju /entries/delete/12345, /entries/edit/12345, etc. i metody HTTP jakie się przewijają to tylko POST i GET. Czy to nadal jest REST? Czy ktoś by mógł wytłumaczyć na czym polega REST w dwóch zdaniach jak pięciolatkowi z porażeniem mózgowym?
  • 6
a i jeszcze jedno, na #!$%@? przy usuwaniu wpisu dostaję response z autorem, treścią wpisu i jakimiś innymi metadanymmi xD nie wystarczy jakieś 202 albo 204 bez treści?
@zwei: To tylko konwencja. Ta 'twoja' z DELETE jest klasyczna i poprawna. Ale przykładowo formularze w HTML bodajże nie obsługują metod DELETE i PUT jako wartość atrybutu 'method', więc wykonuje się to przez POST.