DEV Community

Cover image for [TIP] - Laravel API Response Helpers
Jilcimar Fernandes
Jilcimar Fernandes

Posted on

[TIP] - Laravel API Response Helpers

Este artigo é uma dica para quem já trabalhou com API REST no Laravel ou irá precisar trabalhar. O objetivo desse pacote é garantir respostas consistentes e padronizadas em toda sua aplicação Laravel.

Quem já trabalhou em projetos legados ou até mesmo novos se forem mal escritos, provavelmente já se deparou com uma infinidade de métodos usados para retornar um erro ou mensagem de sucesso. Além disso, não é difícil de encontrar problemas de retornar o status code errado, como por exemplo uma mensagem de erro que retorna 200, como mostra na imagem abaixo:
image

Sobre o pacote

image
O pacote você pode encontrar a sua documentação nesse repositório https://github.com/f9webltd/laravel-api-response-helpers , a proposta é de fato ser simples e garantir respostas consistentes da API no seu projeto Laravel. Para utilizar é preciso ter as seguintes especificações:

  • PHP ^7.4 | ^8.0
  • Laravel 6, 7 and 8

Instalação

composer require f9webltd/laravel-api-response-helpers

Exemplo de uso

<?php

namespace App\Http\Api\Controllers;

use F9Web\ApiResponseHelpers;
use Illuminate\Http\JsonResponse;

class OrdersController
{
    use ApiResponseHelpers;

    public function index(): JsonResponse
    {
        return $this->respondWithSuccess();
    }
}
Enter fullscreen mode Exit fullscreen mode

Alguns métodos disponíveis

respondNotFound(string|Exception $message, ?string $key = 'error')

Retorna o código de status HTTP 404, e opcionalmente pode receber um exceção personalizada.

respondWithSuccess(array|Arrayable|JsonSerializable|null $contents = [])

Retorna o código de status HTTP 200

respondUnAuthenticated(?string $message = null)

Retorna o código de status HTTP 401

respondForbidden(?string $message = null)

Retorna o código de status HTTP 403

respondError(?string $message = null)

Retorna o código de status HTTP 400

respondCreated(array|Arrayable|JsonSerializable|null $data = [])

Retorna o código de status HTTP 201, e como opcional você pode passar um data que é devolvido na resposta.

Esse são alguns métodos mas você pode conferir mais explorando a documentação oficial do pacote.

E ai, curtiram a dica?

Fonte

Discussion (2)

Collapse
hedleyticto profile image
hedleyticto

Show, parabéns!
Belo artigo e bela ferramenta.

Collapse
jilcimar profile image
Jilcimar Fernandes Author

Obrigado @hedleyticto