O que é um REST API?
API significa "application program interface" (interface de programa aplicativo). It's é apenas um método documentado de interagir com outra pessoa's serviço. Por exemplo, o Google tem uma API para o Gmail. E uma API para o Calendário. E APIs para praticamente tudo o resto que eles fazem. Eles'são muito bons com eles, na verdade.
Se você quiser interagir com alguém's serviço, você geralmente usa uma API. Com certeza é melhor que ligar para o Jawbone no telefone e dizer "oh hey, você pode me enviar um e-mail com os dados da minha atividade do último mês? Obrigado".
REST é apenas um padrão para fazer APIs. I'dir-lhe-ia o que significa, mas não importa't importa. It'é apenas um padrão para nomear recursos que um serviço fornece.
No exemplo da API do Gmail, você pode interagir com os seus rascunhos de e-mail. Para fazer isso, o Google segue o padrão REST dando-lhe uma url que se parece com a url abaixo. (Nota lateral, quase todas as APIs REST usam HTTP. They don't have to, but all of the ones that matter do.)
- https://www.googleapis.com/gmail/v1/users/userId/drafts
Want to list your drafts? Envie um pedido de GET para aquele url.
Quer criar um rascunho? Envie um pedido de PÓS àquele url.
Quer ler um rascunho específico? Send a GET request to the url:
- https://www.googleapis.com/gmail/v1/users/userId/drafts/draftId
Want to update your draft? Envie um pedido de POST para a url acima.
Deseja apagar o seu rascunho? Envie uma solicitação de DELETE para a url acima.
E se você quiser fazer todas as mesmas ações (listar, criar, ler, atualizar, deletar) para um recurso diferente, digamos, Gmail Labels?
Bem, porque eles'ao usar o padrão REST para sua API, você pode facilmente ver o padrão para listar, criar, ler, atualizar e deletar Labels. It's just at a different URL:
- https://www.googleapis.com/gmail/v1/users/userId/labels
So what's a REST API? It's a standard pattern for an interface for another service that you can use programmatically (from a computer program).