Pular para o conteúdo principal

Questão de Engenharia de Software — Conceitos Básicos em Engenharia de Software — CESPE / CEBRASPE 2025

Engenharia de SoftwareConceitos Básicos em Engenharia de Software
Código
ce201561
Banca
CESPE / CEBRASPE
Órgão
EMBRAPA
Ano
2025
Nível
Superior
Cargo
Pesquisador – Área: Ciências Exatas e da Terra – Subárea: Rastreabilidade e Certificação Digital
Julgue o próximo item, relativo a API (Application Programming Interface).Os métodos PUT e DELETE em API RESTful para integração de dados devem ser implementados como idempotentes, assegurando que requisições repetidas com o mesmo payload resultem no mesmo estado final do sistema, independentemente do número de execuções.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

API REST – Idempotência de Métodos

Gabarito: ✅ CERTO. A afirmação está correta. Em APIs RESTful, tanto PUT quanto DELETE são métodos idempotentes: múltiplas requisições idênticas produzem o mesmo estado final que uma única requisição, sem efeitos colaterais adicionais. Esse princípio está definido na especificação HTTP (RFC 7231) e é um requisito para APIs REST bem projetadas.

Justificativa

A idempotência em REST significa que a operação pode ser executada várias vezes com o mesmo efeito. O método PUT substitui ou cria um recurso; ao repetir a mesma requisição, o estado permanece o mesmo (o recurso é sobrescrito com os mesmos dados). O método DELETE remove o recurso; após a primeira exclusão, requisições subsequentes retornam 404, mas o estado final é o mesmo – o recurso não existe. A RFC 7231, seção 4.2.2, define explicitamente PUT e DELETE como idempotentes.

NÃO CAIA NESSA!

Idempotência não é o mesmo que segurança. Métodos seguros (GET, HEAD) não alteram o estado e também são idempotentes. PUT e DELETE alteram o estado (não são seguros), mas são idempotentes.

Portanto, a afirmativa está de acordo com o padrão REST, resultando em Certo.

1Seguros (não alteram estado)
GET
HEAD
2Idempotentes (mesmo estado final)
PUT (substitui/cria)
DELETE (remove)
GET, HEAD (também seguros)
3Não idempotentes
POST (cria novo recurso)
PATCH (parcial, pode não ser)
Métodos HTTP (REST)
LEVELsoulevel.com.br
Métodos HTTP (REST): Seguros (não alteram estado) (GET, HEAD); Idempotentes (mesmo estado final) (PUT (substitui/cria), DELETE (remove), GET, HEAD (também seguros)); Não idempotentes (POST (cria novo recurso), PATCH (parcial, pode não ser))

Link permanente: /questoes/ce201561