REST (Representational State Transfer) é um estilo de arquit...

Próximas questões
Com base no mesmo assunto
Q827326 Sistemas Operacionais

REST (Representational State Transfer) é um estilo de arquitetura para projetar sistemas computacionais distribuídos. Analise as afirmativas a seguir sobre o estilo arquitetônico REST:

I. As interações REST são stateless, ou seja, cada requisição contém todas as informações necessárias para um conector compreendê-la, independentemente de requisições anteriores.

II. Os métodos PUT e POST do protocolo HTTP são considerados como idempotentes na arquitetura REST.

III. Recursos são unicamente identificados por meio de URIs (Uniform Resource Identifier).

Está correto o que se afirma em:

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Prezados,

O item I está correto, as iterações REST são stateless, não guardam valor de sessão.
O item II está errado, O método PUT é idempotente, enquanto o método POST não.
O item III está correto, a identificação primária dos recursos na arquitetura REST é a URI.

Fonte : https://restfulapi.net/rest-put-vs-post/ 

Portanto a alternativa correta é a letra D


Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Idempotência: 

É a propriedade que algumas operações têm de poder ser aplicadas várias vezes sem que o valor do resultado se altere após a aplicação inicial. GET, PUT, DELETE, HEAD e OPTIONS.

 

POST não possui essa caracteristicas

somente I e III;

"Por que o POST não é idempotente? Vamos lá, a principal funcionalidade de uma chamada POST é criar um recurso, então a cada requisição que se realizar, um recurso será criado e assim alterando o estado da aplicação e não mantendo o atual.

O PUT é um caso legal, ele altera o estado de uma aplicação certo? Agora imagina o seguinte, tenho o mesmo endpoint que citei acima, porém, com o verbo PUT, se eu alterar o campo city de “Araraquara” para “São Paulo” e enviar uma vez, será alterado meu objeto e o estado da aplicação, com um status 200, porém, se o mesmo payload for enviado novamente, a resposta será igual a da primeira chamada, com o mesmo status e body"

.

https://medium.com/@lucasschwenke/idempot%C3%AAncia-uma-boa-pr%C3%A1tica-a-se-utilizar-em-servi%C3%A7os-rest-633c38f4d7c0

Leiam o comentário do Leandro Henrrique, Plinio e do Professor. Caso ainda não entenda, leia este aqui, pois tentarei simplificar. Vamos lá...

Relembrando. O que é o Rest?

  • R: É uma sigla que traduzido quer dizer: transferência de estado representacional. Em outras palavras, é uma arquitetura usada para transferência. Ele não armazena estado nas mudanças (condição atual sobre o processamento da requisição) - stateless. Ademais, posso identificar tudo no endereço completo do site (URIs).

Até aqui já identificamos que as letras I e III estão corretas. Vejamos o erro da II e dizer de forma simples o que é a idempotência.

  • Quando eu lido com transferência em Rest, tenho que determinar as ações a serem feitas e para isso são usados os métodos. A questão está abordando dois métodos, a saber: PUT e o POST.
  • O PUT sobrescreve (idempotente). Posso enviar quantas requisições que eu quiser, que é visto como apenas uma modificação.
  • O POST não sobrescreve (não idempotente). Cada requisição enviada exigirá criar novos recursos com novas URIs

GABARITO D

Referências: 

  1. https://restfulapi.net/rest-put-vs-post/
  2. https://www.totvs.com/blog/developers/rest/
  3. https://woliveiras.com.br/posts/url-uri-qual-diferenca/

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo