API vs REST API

Oct 30 2020

Recentemente postei esta pergunta: API Rest para vários aplicativos?

Depois de pesquisar um pouco mais e ler esta pergunta https://stackoverflow.com/questions/41189842/what-is-difference-between-rest-and-api, Quero perguntar como devo escolher entre uma API REST e uma API não REST?

Por que devo preferir um estilo ao outro?

Estou perguntando se existe uma resposta geral, mas também darei um exemplo específico.

Eu entendo que uma API REST e uma API não REST podem ser usadas por vários aplicativos (aplicativo para PC, aplicativo para Android, aplicativo da web, etc.). Se eu quiser criar o back-end que todos esses aplicativos irão compartilhar (aplicativo para pc, aplicativo para Android, aplicativo da web etc), de modo que todos esses aplicativos troquem informações com o back-end e o back-end irá armazenar todas essas informações , há alguma diferença no estilo de API que escolho?

Mesmo que não haja diferença, qual devo escolher e por quê?

Respostas

AdarshMenon Oct 30 2020 at 12:25

REST é um tipo de API. Nem todas as APIs são REST, mas todos os serviços REST são APIs.

API é um termo muito amplo. Geralmente é como uma parte do código se comunica com outra. No desenvolvimento da web, a API geralmente se refere à maneira como recuperamos informações de um serviço online. A documentação da API fornecerá uma lista de URLs, parâmetros de consulta e outras informações sobre como fazer uma solicitação da API e informará que tipo de resposta será dada para cada consulta.

REST é um conjunto de regras / padrões / diretrizes de como construir uma API da web. Como há muitas maneiras de fazer isso, ter um sistema acordado de estruturação de uma API economiza tempo na tomada de decisões durante a construção de uma API e na compreensão de como usá-la.

Outros paradigmas de API populares incluem SOAP e GraphQL.