API vs REST API

Oct 30 2020

Niedawno opublikowałem to pytanie: Rest API dla wielu aplikacji?

Po dalszych poszukiwaniach i przeczytaniu tego pytania https://stackoverflow.com/questions/41189842/what-is-difference-between-rest-and-api, Chcę zapytać, jak wybrać między interfejsem API REST a interfejsem API innym niż REST?

Dlaczego powinienem preferować jeden styl od drugiego?

Pytam, czy jest ogólna odpowiedź, ale podam też konkretny przykład.

Rozumiem, że zarówno REST API, jak i inne niż REST API mogą być używane przez wiele aplikacji (aplikacja komputerowa, aplikacja na Androida, aplikacja internetowa itp.). Jeśli chcę utworzyć zaplecze, które będą udostępniać wszystkie te aplikacje (aplikacja komputerowa, aplikacja na Androida, aplikacja internetowa itp.), Aby wszystkie te aplikacje wymieniały informacje z zapleczem, a zaplecze będzie przechowywać wszystkie te informacje , czy jest jakaś różnica w wybranym stylu API?

Nawet jeśli nie ma różnicy, którą wybrać i dlaczego?

Odpowiedzi

AdarshMenon Oct 30 2020 at 12:25

REST to rodzaj interfejsu API. Nie wszystkie interfejsy API są interfejsami REST, ale wszystkie usługi REST są interfejsami API.

API to bardzo szerokie pojęcie. Ogólnie jest to sposób, w jaki jeden fragment kodu komunikuje się z drugim. W programowaniu internetowym API często odnosi się do sposobu, w jaki pobieramy informacje z usługi online. Dokumentacja API zawiera listę adresów URL, parametry zapytań i inne informacje o tym, jak wykonać żądanie z API, a także informuje, jakiego rodzaju odpowiedź zostanie udzielona na każde zapytanie.

REST to zbiór zasad / standardów / wytycznych dotyczących tworzenia internetowego interfejsu API. Ponieważ istnieje wiele sposobów, aby to zrobić, posiadanie uzgodnionego systemu strukturyzacji API oszczędza czas przy podejmowaniu decyzji podczas tworzenia API i oszczędza czas na zrozumienie, jak z niego korzystać.

Inne popularne paradygmaty API to SOAP i GraphQL.