Questão de Engenharia de Software — Desenvolvimento de Software — FUNDATEC 2025
Engenharia de Software›Desenvolvimento de Software
Código
qg474975
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2025
Nível
Superior
Cargo
Analista em Computação/Ênfase em Programação de Sistemas na Tecnologia Microsoft
A API de uma empresa de benefícios recebe POST/benefícios para criar um novo benefício. A criação é na hora (não vai para fila) e, quando termina, o novo benefício já pode ser consultado por um endereço próprio. De acordo com a RFC 9110 (regras que definem o uso do HTTP), qual é a resposta adequada e dentro da boa prática que a API deve devolver?
A200 OK, sem corpo, porque a criação terminou e nenhum conteúdo adicional é estritamente necessário.
B201 Created, incluindo o cabeçalho Location apontando para a URI do novo recurso e, opcionalmente, o corpo com sua representação.
C204 No Content acompanhado de Location para informar onde obter o recurso criado.
D202 Accepted com Location para acompanhamento do processamento, tratando a criação como assíncrona.
E409 Conflict por padrão para evitar duplicatas, exigindo repetição da requisição com idempotency key.
Revelar gabarito e comentário▾
GabaritoB — 201 Created, incluindo o cabeçalho Location apontando para a URI do novo recurso e, opcionalmente, o corpo com sua representação.
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”.
HTTP Status Codes para Criação de Recursos (RFC 9110)
Gabarito: letra B. A RFC 9110 estabelece que, ao criar um recurso com sucesso via POST, o servidor deve responder com 201 Created e incluir o cabeçalho Location apontando para a URI do novo recurso. O corpo da resposta pode conter a representação do recurso. Essa é a prática padronizada e boa prática REST.
A questão testa o conhecimento dos códigos de status HTTP mais comuns para operações de criação síncrona.
Criação de recurso via POST (RFC 9110)
1Síncrona (criação na hora)
201 Created
Cabeçalho Location (URI do recurso)
Corpo opcional (representação)
2Assíncrona (vai para fila)
202 Accepted
Location para acompanhamento
3Outros códigos
200 OK (sem criação de recurso)
204 No Content (exclusão, sem corpo)
409 Conflict (conflito/duplicata)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
O código 200 OK é usado para respostas bem-sucedidas sem criação de recurso. Quando um novo recurso é criado, o código apropriado é 201, não 200, mesmo que o corpo esteja vazio.
Alternativa B — ✅ Correta ⟵ GABARITO
Conforme a RFC 9110, a resposta para POST que resulta na criação de um novo recurso é o status 201 Created, acompanhado obrigatoriamente do cabeçalho Location com a URI do recurso criado. O corpo pode opcionalmente conter a representação completa do recurso.
Alternativa C — ❌ Incorreta
O código 204 No Content indica sucesso sem conteúdo, mas é usado para operações que não geram retorno (ex.: exclusão bem-sucedida). Para criação de recurso, o 204 é inadequado, pois o cliente espera saber a URI do novo recurso, fornecida pelo Location. A combinação 204 + Location não está alinhada com a RFC; a resposta correta é 201.
Alternativa D — ❌ Incorreta
202 Accepted é reservado para processamento assíncrono (quando a criação é postergada). O enunciado afirma que a criação é síncrona ("na hora, não vai para fila"), portanto 202 não se aplica. Em operações síncronas, o retorno deve ser 201.
Alternativa E — ❌ Incorreta
409 Conflict é usado quando há conflito no estado atual do recurso (ex.: duplicata violando restrição). Entretanto, não é a resposta padrão para criação bem-sucedida. O cenário descrito não menciona conflito; a criação é bem-sucedida. O uso de idempotency key é opcional e não altera o código de resposta adequado.
NÃO CAIA NESSA!
A banca mistura códigos de status comuns, tentando confundir o candidato entre 200 OK (que não gera recurso), 204 (sem corpo) e 202 (assíncrono). A regra de ouro: criação síncrona de recurso sempre retorna 201 Created + Location header.