Rest API dla wielu aplikacji?

Oct 30 2020

Niedawno zacząłem poznawać interfejsy API REST i próbuję zrozumieć, jak działają i do czego służą. Z tego, co przeczytałem do tej pory iz tego, co rozumiem, REST API może być używany jako zaplecze dla wielu różnych aplikacji jednocześnie, aplikacji na Androida, aplikacji internetowych itp. Czy to główne zastosowanie REST API, czy czy to tylko coś, co zapewnia, ale nie jest to główny powód, dla którego warto z niej korzystać. A może całkowicie się mylę?

Edycja: Nie chciałem tutaj dodawać więcej pytań, więc utworzyłem nowe pytanie względne: API vs REST API, jeśli możesz to sprawdzić, naprawdę byłbym wdzięczny. Dziękuję również za poświęcenie czasu na udzielenie mi odpowiedzi.

Odpowiedzi

1 KyleMcVay Oct 30 2020 at 03:42

REST to wzorzec architektury API; Interfejsy API REST różnią się od innych interfejsów API swoim projektem. Oferują standardowy interfejs do interakcji z zasobami danych. Interfejs API REST dla instytucji finansowej miałby podobną strukturę jak interfejs dla systemu szpitalnego; różne przestrzenie problemowe, ale podobny projekt API.

Każdy interfejs API REST lub inny niż REST może być używany przez wiele aplikacji, więc nie można bezpiecznie powiedzieć, że interfejsy API REST są bardziej wielokrotnego użytku niż interfejsy API inne niż REST. REST jest po prostu powszechnym standardem implementacji operacji dostępu do danych / manipulacji za pośrednictwem interfejsu API.

Na przykład, gdybym miał internetowy interfejs API, który zarządzał fooobiektami, mógłbym mieć następujące punkty końcowe HTTP dla RESTful API:

GET  /foo/<id> # Look up a foo
POST /foo      # Create a new foo

Lub, jeśli nie przestrzegam wytycznych REST, mogę mieć:

GET  /foo?id=<id> # Look up a foo
POST /newFoo      # Create a new foo

Ten ostatni interfejs API jest technicznie tak samo wielokrotnego użytku jak pierwszy, ale ten pierwszy jest bardziej ustandaryzowany i będzie bardziej rozpoznawalny przez programistów, którzy wcześniej korzystali z REST.

Aby dowiedzieć się więcej o standardach / wytycznych REST, zobacz Representational State Transfer .