Article image
Joana Leoni
Joana Leoni16/01/2023 13:01
Compartilhe

O que é REST?

  • #RESTful
  • #REST
  • #API Rest

REST é um acrônimo para Representational State Transfer. É um estilo arquitetural para desenvolver web APIs - aka web services. É uma especificação que define a forma de comunicação entre componentes de software na web.

Surgiu no início dos anos 2000, a partir da tese de PhD do cientista Roy Fielding, com o intuito de formalizar um conjunto de regras (constraints) para desenvolvimento de web services, que devem ser seguidas para que uma web API esteja em conformidade com o REST.

As constraints do REST são:

1. Cliente-servidor: deve ser uma aplicação com clientes e servidores separados.

2. Stateless server: o servidor não deve guardar informações sobre o estado do cliente. Cada requisição deve ser independente, contendo as informações necessárias para ser atendida.

3. Cacheable: é necessário que as respostas possam ser cacheadas, e o cliente deve ser informado sobre as propriedades de cache de um recurso a fim de decidir quando utilizar cache ou não.

4. Interface uniforme: deve existir uma interface uniforme entre cliente e servidor. Para tanto, algumas convenções devem ser seguidas:

  • Identificação de recursos por URI: cada recurso deve possuir sua respectiva URI de acesso
  • Manipulação de recursos a partir de suas representações (que podem ser em formato HTML, XML, JSON, TXT, etc)
  • Mensagens auto-descritivas
  • Hypermedia as the engine of application state (HATEOAS): as respostas devem conter todas as informações necessárias para que o cliente possa navegar pela aplicação

5. Sistema em camadas: a aplicação deve ser composta por camadas de fácil alteração, sendo possível adicionar ou remover camadas.

6. Código sob demanda (opcional): o cliente pode solicitar um código do servidor e executá-lo.

Compartilhe
Comentários (1)
Daniel Neves
Daniel Neves - 16/01/2023 16:17

Massa demais !!!