|

O que é uma API REST

E ai tudo bem? Hoje você vai saber absolutamente tudo o que você precisa a respeito de API`s REST

Pra quem acabou de começar a programar, vários termos podem assustar, e tenho certeza que um dos que mais aparecem na nossa vida, é a tal API REST.

Então eu vou separar em alguns tópicos para organizar melhor os pensamentos e conseguir te guiar junto comigo na explicação. Vamos lá…

  1. O que é API
  2. O que é REST
  3. Verbos HTTPS
  4. Status Code
  5. Porque e quando utilizar API REST
  6. Formatos de API`s
  7. Conclusão

Bem, dado os nossos tópicos, vamos de fato às explicações, sem firulas!

O que é API

API significa Application Programming Interface, que em português significa Interface de Programação de Aplicações.

Beleza Bruno, mas e daí? Calma jovem, vamos destrinchar isso um pouco mais…

API nada mais é do que um serviço disponível para que outros serviços consigam consumir de forma programática. Isto é, utilizar os recursos desse serviço, no meio do seu próprio código.

De modo geral, é uma interface que permite a comunicação entre dois programas.

O que é REST

Quando a gente está falando de desenvolvimento web, a maior parte das API`s utilizam o protocolo HTTP para disponibilizar o serviço. o protocolo HTTP é o mesmo que utilizamos para acessar os sites em nosso browser.

Acontece que só com esse protocolo seria muito amplo, quando se trata de um software consumir outro software. Imagine o seguinte cenário:

  • Time 01: está desenvolvendo uma API de consulta de CEP, neste time há 4 desenvolvedores
  • Time 02: vai consultar a API de CEP via HTTP do Time 01

Se só houvesse o protocolo http entre os dois, as padronizações entre os dois times seriam extremamente perdidas, e cada integração exigiria que os times tivessem contato para poder combinar.

E é aí que entra o REST. O REST é um padrão semântico para requisições HTTP.

Ao consumir um serviço utilizando uma API REST nós utilizamos requisições com verbos que ditam exatamente o que nossa requisição quer fazer. Por exemplo:

Verbos HTTP

Os verbos mais comuns e que a gente mais utiliza no dia a dia são o GET e o POST, mas existem outros que ao utilizar sua API se torna cada vez mais padronizada e semântica. Deixando mais fácil para quem vai consumir. Veja quais são os principais verbos disponíveis no REST, que nós usamos no dia a dia…

  • GET: É quando você quer obter alguma lista ou informação. Exemplo: Obter a lista de usuário
  • POST: É quando você precisa criar algum dado. Exemplo: Criar um usuário
  • PUT: É quando precisamos alterar todos os dados. Exemplo: Alterar os dados de um usuário
  • PATCH: É quando precisamos alterar parcialmente dados. Exemplo: Alterar apenas o e-mail do usuário
  • DELETE: É quando precisamos excluir algum dado. Exemplo: Excluir um usuário

Status Code

Como comentei no início REST é uma forma semântica de transferir dados, então a cada requisição existe um código que a API retorna para informar quem fez a requisição, qual foi o retorno dela.

Existem códigos para todos os tipos de “eventos” dentro de uma API, veja abaixo quais são os tipos de códigos possíveis em uma API REST

  • 1xx Informativo: Comunica alguma informação:
    • Exemplo: Código 102 Processing – Este código indica que o servidor recebeu e está processando a requisição, mas nenhuma resposta está disponível ainda.
  • 2xx Sucesso: Indica que o servidor aceitou a requisição do cliente
    • Exemplo: Código 200 OK – Esta requisição foi bem sucedida. O significado do sucesso varia de acordo com o método HTTP:
  • 3xx Redirection: Comunica que o servidor deve fazer um redirecionamento
    • Exemplo: Código 301 Moved Permanently – Esse código de resposta significa que a URI do recurso requerido mudou. Provavelmente, a nova URI será especificada na resposta.
  • 4xx Client Error: Comunica que o cliente fez a requisição da forma errada
    • Exemplo: Código 401 Unauthorized – O cliente deve se autenticar para obter a resposta solicitada.
  • 5xx Server Error: Comunica que ao tentar processar a requisição, o servidor teve algum problema que retornou um erro
    • Exemplo: Código 501 Not Implemented – O método da requisição não é suportado pelo servidor e não pode ser manipulado

Bem esses são alguns exemplos, mas você pode ver aqui a lista completa dos códigos e o momento de utiliza-los.

Porque e quando utilizar uma API REST

Nós utilizamos uma API REST sempre que precisamos consumir algum recurso que extrapola o limite da nossa aplicação. Como por exemplo, buscar os dados de um endereço através do CEP, neste caso utilizamos uma API dos correios onde passamos o número do CEP e ele nos retorna exatamente qual o endereço solicitado.

No desenvolvimento web moderno, as novas tecnologias que tem aparecido, estão cada vez mais amplas em termos de dispositivos, portanto a utilização de API`s se tornou basicamente nosso dia a dia.

Muitos sites hoje em dia utilizam frameworks e bibliotecas como VueJS e ReactJS para serem feitos. E quando geramos o pacote para produção, nós não temos nada mais do que páginas HTML, CSS e Javascript!

“- Então como nós conseguimos conectar com o banco de dados”, você deve estar se perguntando… Pois bem, esse tipo de arquitetura de sites utilizam API`s para comunicação com o Back-end.

Então esqueça a ideia de renderizar o back-end junto com o front-end, assim como fazíamos no PHP ou mesmo no C#.Net.

E é por isso que hoje falamos tanto em API`s REST.

Formatos de API

Existem dois principais formatos de dados que uma API utiliza na hora de expor os dados, o XML e o JSON.

XML

O formato XML é um formato mais antigo e muito mais verboso, isto é, é necessário escrever muito mais texto para poder representar os dados, porém funciona muito bem com tecnologias Microsoft, como por exemplo C#.Net.

Veja o exemplo:

<usuario>
	<name>Bruno Braga</name>
    <age>29</age>
</usuario>

JSON

O JSON talvez seja o modelo mais usado nos dias de hoje. JSON significa JavaScript Object Notation, ou seja, um formato textual para estruturar um objeto. Mas não se engane, não é porque ele tem no nome JavaScript que ele só funciona nessa linguagem, todas as linguagens atuais já tem suporte a esse modelo de notação.

Veja o exemplo:

{
    "name":"Bruno Braga",
    "age":29
}

Bem, legal você entendeu que existem esses dois formatos de API, mas deve estar pensando “- Qual é melhor?”. Então… Não existe melhor, existe o que você precisa utilizar. Eu particularmente tenho muito mais facilidade em trabalhar com JSON, mas conheço diversos colegas que tem muito mais facilidade com XML.

O ideal é entender como cada um dos formatos funciona, e quando você precisar consumir alguma API que esteja com qualquer um dos dois formatos, você vai saber o que fazer.

Conclusão

Bem, hoje você aprendeu tudo o que precisa saber para bater um papo sobre API REST com seus colegas e até se te perguntarem sobre isso numa entrevista de emprego.

Um ponto importante que você aprendeu hoje e que muitos desenvolvedores que trabalham com API REST não se importam, são com os verbos, já trabalhei com inúmeras API`s que tudo era POST e GET, e não se importava para toda a semântica, muito menos para os códigos de erro.

Além disso aprendeu que grande parte dos sites hoje em dia são feitos de forma separadas, o front-end do back-end, e se comunicam através de API.

E pra finalizar, aprendeu os principais formatos que as API`s são desenvolvidas.

Espero que este post tenha te proporcionado algum conhecimento a mais, se tiver dúvidas deixe nos comentários… Até a próxima, e tchau! 😉

Posts Similares

7 Comentários

  1. Estudo programação há uns 2 anos e já trabalhei com API Rest, e outras API’s, sempre pesquisava sobre a definição delas, até hoje o conteúdo explicativo na internet é confuso para um inocente mas a sua explicação é totalmente legível e fácil de entender. Vc tem o dom da didática, o dom pra ensinar. Parabéns pelo trabalho!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *