Questão de Arquitetura de Software — Arquitetura de Software — FGV 2023
Arquitetura de Software›Arquitetura de Software
Código
fg060716
Banca
FGV
Órgão
CGE-SC
Ano
2023
Nível
Superior
Cargo
Auditor do Estado - Ciências da Computação - Tarde (Conhecimentos Específicos)
Avalie se a maneira correta de lidar com erros em uma API RESTful inclui as seguintes ações:I. Retornar um código de status 200 OK com uma mensagem de erro no corpo da resposta.II. Retornar um código de status 400 Bad Request com uma mensagem de erro no corpo da resposta.III. Retornar um código de status 500 Internal Server Error com uma mensagem de erro no corpo da resposta.IV. Retornar um código de status 200 OK com uma mensagem de erro no cabeçalho de resposta.V. Retornar um código de status 202 Accepted com uma mensagem de erro no corpo da resposta.Estão corretas as ações
AI e II, apenas.
BII e III, apenas.
CIII e IV, apenas.
DIV e V, apenas.
EI, II, III, IV e V.
Revelar gabarito e comentário▾
GabaritoB — II e III, apenas.
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”.
RESTful API – Tratamento de Erros
Gabarito: letra B. Em uma API RESTful, o tratamento correto de erros exige o uso de códigos de status HTTP apropriados (como 4xx para erros do cliente e 5xx para erros do servidor) e a inclusão da mensagem de erro no corpo da resposta, não no cabeçalho. As ações II (400 Bad Request) e III (500 Internal Server Error) seguem essas boas práticas, enquanto as demais violam os princípios REST.
Ação
Código de Status
Local da Mensagem de Erro
Correto?
Motivo
I
200 OK
Corpo da resposta
❌
200 OK indica sucesso; usar para erro é semanticamente incorreto
II
400 Bad Request
Corpo da resposta
✅
Código apropriado para erro do cliente; mensagem no corpo é padrão
III
500 Internal Server Error
Corpo da resposta
✅
Código apropriado para erro do servidor; mensagem no corpo auxilia depuração
IV
200 OK
Cabeçalho da resposta
❌
Código errado (200 para erro) e local não padrão (mensagem deve ir no corpo)
V
202 Accepted
Corpo da resposta
❌
202 indica processamento pendente, não erro
Tratamento de erros RESTful
1Código de status
4xx (erro do cliente)
5xx (erro do servidor)
2xx (sucesso)
2Mensagem de erro
No corpo da resposta
No cabeçalho
LEVEL · soulevel.com.br
Item I — Retornar 200 OK com mensagem de erro no corpo — ❌ Incorreto
O código 200 OK indica sucesso na requisição. Utilizá-lo para reportar erros é semanticamente incorreto, pois confunde o cliente sobre o estado real da operação. O corpo da resposta deve conter dados válidos, não mensagens de erro.
Item II — Retornar 400 Bad Request com mensagem de erro no corpo — ✅ Correto
O código 400 Bad Request é apropriado para erros causados pelo cliente, como dados inválidos ou mal formatados. A mensagem de erro no corpo explica o problema e auxilia na correção.
Item III — Retornar 500 Internal Server Error com mensagem de erro no corpo — ✅ Correto
O código 500 Internal Server Error é usado para indicar falhas inesperadas no servidor. Incluir uma mensagem de erro no corpo é uma boa prática para depuração (sem expor detalhes sensíveis em produção).
Item IV — Retornar 200 OK com mensagem de erro no cabeçalho — ❌ Incorreto
Além de usar o código errado (200 OK para erro), colocar a mensagem de erro no cabeçalho não é padrão. As mensagens de erro devem estar no corpo da resposta, seguindo a convenção REST de que o corpo carrega os detalhes da resposta.
Item V — Retornar 202 Accepted com mensagem de erro no corpo — ❌ Incorreto
O código 202 Accepted indica que a requisição foi aceita para processamento assíncrono, mas ainda não foi concluída. Ele não deve ser usado para reportar erros, pois não há erro; o processamento está pendente.