DEV Community

Fabiano Góes • e-Programar
Fabiano Góes • e-Programar

Posted on

API REST ?

Mas e o protocolo HTTP que é a base para a API REST você conhece ?

O Protocolo

API = Application Programming Interface
REST = Representational State Transfer

Basicamente a API REST foi criada para possibilitar a comunicação entre sistemas, e para que seja possível essa comunicação precisamos de um Protocolo, e é ai que entra o HTTP.

image

Funcionamento

HTTP utiliza o modelo Cliente-Servidor, como a maioria dos protocolos de rede, baseando-se no paradigma de Requisição e Resposta.

Um programa requisitante (Cliente) estabelece uma conexão com um outro programa receptor (Servidor) e envia-lhe uma requisição, contendo a URI, a versão do protocolo, uma mensagem MIME contendo os modificadores da requisição, informações sobre o cliente e, possivelmente, o conteúdo no corpo da mensagem.

O Servidor processa a Requisição(Request) e Responde(Responnse) com um Status incluindo sua versão de protocolo e com os códigos de erro informando se a operação foi bem sucedida ou não.
Após o envio da resposta pelo servidor, encerra-se a conexão estabelecida.

A Mensagem

Uma Mensagem, tanto de Requisição(Request) quanto de Resposta(Response), é composta por: Cabeçalhos(header) e Corpo(body).

Toda Requisição(Request) é enviada através de um Comando ou Métodos HTTP e os mais comum são:

  • POST
  • GET
  • PUT
  • PATCH
  • DELETE

Toda Resposta(Response) segue com um Código de Estado(HTTP Status) exemplos:

  • 200(OK)
  • 404(Not Found)
  • 500(Internal Server Error)

Content-Type

Quando uma mensagem HTTP tiver um corpo, poderão ser incluídos cabeçalhos de entidades que descrevem suas características, como por exemplo, o Content-Type que informa o tipo MIME dos dados no corpo da mensagem.
Alguns tipos MIME:

  • text/plain(Arquivo no formato Texto ASCII)
  • text/html(Arquivo no formato HTML, utilizado como padrão para documentos Web)
  • image/gif(Imagem no formato GIF)
  • image/jpeg(Imagem no formato JPEG)
  • application/zip(Arquivo compactado)
  • application/json(Arquivo no formato JSON)
  • application/xml(Arquivo no formato XML)

O formato application/json é um formato muito utilizado em API REST.

Conceitos

dev1

A intenção aqui foi fazer apenas uma breve abordagem sobre os Conceitos por traz de API REST.

Entendendo a base HTTP e o problema que a API REST se propõe a resolver, conseguimos utilizar as Linguagens de Programação e Frameworks de fato como ferramentas para resolvermos um problema.

E a base sempre será a mesma independente de Linguagem ou Framework.

Deixei seu comentário sobre o que achou do Post, compartilhe em suas redes e ajude a fortalecer uma comunidade onde juntos somos mais fortes!

person3

Top comments (0)