DEV Community

Lucien Risso Correia
Lucien Risso Correia

Posted on

Laravel - Parte 1

Ciclo de requisição básico

Partindo do básico é necessário conhecer o básico de dois conceitos: route e controller.

Route

Route, ou se preferir chamar de rota mesmo é onde se cria as rotas HTTP, definindo sua assinatura, método HTTP e a resposta. Na pasta 'routes' existem quatro arquivos php: 'api.php', 'channels.php', 'console.php', 'web.php'. Numa aplicação poderá ter vários desses para organizar as rotas, mas como por enquanto é somente o básico vamos ficar somente no 'api.php'.

Na versão 10 esse arquivo vem como o seguinte código:

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});
Enter fullscreen mode Exit fullscreen mode

Em resumo essa rota possui um middleware do sanctum (package de autenticação) que retorna o usuário autenticado. Por enquanto deixaremos de lado e pra não confundir apagaremos esse trecho.

Para definir rotas simples o Laravel possui a classe 'Route' juntamente com os métodos que definem o método HTTP da rota, seguindo os mesmos nomes 'get', 'post', 'put', 'patch', 'delete'.
Cada um desses métodos recebe como primeiro parâmetro a assinatura da rota e como segundo parâmetro um callback.

Assim podemos criar um endpoint '/hello-world' GET:

Route::get('/hello-world', fn () => 'Hello World');
Enter fullscreen mode Exit fullscreen mode

Com isso teremos um retorno de um texto 'Hello World' ao chamar a rota.

Response

Até a parte anterior foi possível retornar algo simples como um texto com status code 200. Já adiantando um próximo assunto vou deixar como retornar qualquer coisa definindo o status code HTTP:

Route::get('/error-500', fn () => response('ERRO!!!', 500));
Enter fullscreen mode Exit fullscreen mode

O código acima utilizou a função 'response', um helper do Laravel para facilitar o retorno da classe de Response do framework. Com esse helper podemos definir o retorno e em seguida como segundo parâmetro o status code HTTP desse retorno, que no exemplo foi 500 de erro no servidor.

Para finalizar a parte básica de rotas vou deixar um link da documentação da Mozilla de Status Code HTTP que utilizaremos adiante.

Top comments (0)