REST API

CLIENT

SERVER

desenvolvimento web i

API

REQUEST

Uma interface que utiliza requisições HTTP responsáveis pelas operações básicas necessárias para a manipulação dos dados.

É um "pedido" que um cliente realiza a nosso servidor. Esse pedido contém uma série de dados que são usados de acordo com o cliente.

o que é rest?

Significa Representational State Transfer que, em português, é “Transferência de Estado Representacional”.

REST não é um protocolo ou padrão, mas sim uma API e um conjunto de restrições de arquitetura.

NÍVEIS DE MATURIDADE

NÍVEL 0

NÍVEL 1

NÍVEL 3

NÍVEL 2

Pode ter 4 níveis de maturidade,  desde uma forma mais simples e rápida, até uma arquitetura mais organizada e complexa.

NíVEL 0

Na API com nível mais baixo de maturidade encontramos apenas um verbo a ser utilizado como tipo de operação, o POST.

Todas as URLs criadas sendo elas para ações de obter dados, atualizar dados, inserir e deletar são chamadas usando o POST.

https://endpoint/users?action=list

Ação via query string

NíVEL 1

Nesse nível de maturidade as APIs se tornam mais organizadas. Uma URL é criada para cada recurso que será consumido.

Já podemos ter uma grande redução de problemas na arquitetura, porém nesse nível ainda é utilizado apenas um tipo de operação, o POST.

https://endpoint/users/work-days

Ação via identificador (no plural)

NíVEL 2

Nesse nível de maturidade a mesma ideia deve ser utilizada com os verbos HTTP, eles devem ser suficientes para um CRUD.

“Introdução de verbos padrões para lidar com situações similares da mesma forma, removendo variações desnecessárias.”

Métodos (verbos) mais conhecidos: GET, POST, PUT, DELETE

NíVEL 2

POST

PUT

DELETE

GET

Criação de um novo recurso (Create).

Buscar dados de um ou vários recursos (Read).

Atualizar um recurso, por inteiro (Update).

Remover um recurso. (Delete)

NíVEL 3

Último nível de maturidade de uma API é atingido quando aplicamos nela o HATEOAS (Hypermedia as the Engine of Application State).

Uma API no nível 3 de maturidade fornece auto documentação, facilidade de entendimento e reaproveitamento.

{
  "href": "https://endpoint/users/list-all"
  "type" "GET"
}

Retorno também trará todas as ações possíveis para este recurso

Obrigado!

Maurício salin

GABRiel Antonietti

henrique kellip

guilherme barbosa

CANOAS, 06 de dezembro de 2022

RefeRências

  • https://coodesh.com/blog/dicionario/o-que-e-rest/

  • https://www.astera.com/pt/type/blog/rest-api-definition/

  • https://www.programmers.com.br/blog/niveis-de-maturidade-de-uma-api-rest/

 

CANOAS, 06 de dezembro de 2022

Apresentação REST API

By Mauricio Salin

Apresentação REST API

  • 103