Sobes.tech
Junior — Middle

Quais métodos podem ser usados para processar e concluir uma requisição no frontend com o status 201 em caso de erro orderNotFound no Spring?

sobes.tech IA

Resposta da IA

Se ao fazer uma requisição no frontend receber um status 201 (Created), mas o corpo da resposta contiver um erro orderNotFound, pode-se tratar isso da seguinte forma:

  1. Verificar o corpo da resposta: Apesar do status 201, é necessário analisar o conteúdo da resposta em busca de erros.
  2. Tratamento do erro no frontend: Por exemplo, se a API retornar um JSON com um campo de erro, pode-se exibir uma mensagem adequada ao usuário.
  3. Finalizar a requisição: Após tratar o erro, pode-se finalizar a requisição corretamente, por exemplo, atualizando o estado da interface ou redirecionando o usuário.

Exemplo em JavaScript usando fetch:

fetch('/api/orders', { method: 'POST', body: JSON.stringify(orderData) })
  .then(response => response.json().then(data => ({ status: response.status, body: data })))
  .then(({ status, body }) => {
    if (status === 201 && body.error === 'orderNotFound') {
      // Tratamento do erro
      alert('Pedido não encontrado');
      // Ações adicionais, como redefinir o formulário
    } else if (status === 201) {
      // Pedido criado com sucesso
      console.log('Pedido criado', body);
    } else {
      // Tratamento de outros status
    }
  })
  .catch(error => {
    console.error('Erro na requisição:', error);
  });

Dessa forma, mesmo com status 201, é possível tratar corretamente um erro, caso ele esteja presente no corpo da resposta.