1
resposta

Retornar uma mensagem de erro para o front-end através de API laravel

Estou desenvolvendo uma API e tenho uma parte da minha lógica que tenho que retornar uma mensagem de erro para o front-end quando uma retirada de item do meu estoque/inventario resulte em um valor abaixo de zero, desenvolvi meu código e gostaria de saber se estou fazendo de um jeito certo ou se teria práticas melhores de retornar este erro, segue o código:

if ($inventario) {
        $inventario->quantidade -= $ordem_servico_items["quantidade"];            
        $resultado = $inventario->quantidade;            
        if ($resultado - 0) {            
            $erroQtd = response()->json(['error' => 'Quantidade usada não pode exceder a quantidade em estoque.']);
            return $erroQtd;
        } else {
            $inventario->save();
        }
    }
1 resposta

Olá David, tudo bem?

Pelo código que você compartilhou, parece que você está no caminho certo para retornar uma mensagem de erro para o front-end quando a retirada de um item do estoque resulta em um valor abaixo de zero. No entanto, há algumas melhorias que você pode fazer.

Primeiro, a condição if ($resultado - 0) não parece estar correta. Ao subtrair 0 de $resultado, você está apenas verificando se $resultado é diferente de zero. Para verificar se $resultado é menor que zero, você pode usar a condição if ($resultado < 0).

Além disso, você pode usar o método response()->json() para retornar a mensagem de erro diretamente na resposta da API, em vez de atribuí-la a uma variável separada. Isso torna o código mais conciso e legível. Aqui está um exemplo de como você pode fazer isso:

if ($inventario) {
    $inventario->quantidade -= $ordem_servico_items["quantidade"];
    $resultado = $inventario->quantidade;
    
    if ($resultado < 0) {
        return response()->json(['error' => 'Quantidade usada não pode exceder a quantidade em estoque.']);
    } else {
        $inventario->save();
    }
}

Dessa forma, quando a quantidade usada exceder a quantidade em estoque, a API irá retornar um JSON com a mensagem de erro especificada.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software