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:
Sobre o pacote
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();
}
}
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?
Top comments (2)
Show, parabéns!
Belo artigo e bela ferramenta.
Obrigado @hedleyticto