0Pricing
PHP Academy · Aula

Rotas de API e controladores de recursos

Registre rotas RESTful e gere controladores de recursos com o Artisan.

Rotas de API e controladores de recursos é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

Rotas de API no Laravel

Defina as rotas de API em routes/api.php. Essas rotas recebem automaticamente o prefixo /api e usam o grupo de middleware api (sem estado — sem sessão ou cookies).

Rota básica de API

Retorne JSON a partir de uma função anônima.

<?php
Route::get("/users/{id}", function (int $id) {
    $user = User::findOrFail($id);
    return response()->json($user);
});

Rotas de recursos de API

Route::apiResource() registra 5 rotas RESTful (ignorando create e edit, que renderizam formulários).

<?php
// routes/api.php
use App\Http\Controllers\Api\UserController;

Route::apiResource("users", UserController::class);
// GET /api/users           → index
// POST /api/users          → store
// GET /api/users/{user}    → show
// PUT /api/users/{user}    → update
// DELETE /api/users/{user} → destroy

Gerando um controlador de API

Use o sinalizador --api para gerar um controlador sem os métodos create e edit.

$ php artisan make:controller Api/UserController --api --model=User

Exemplo de controlador de API

Um controlador de API retorna respostas JSON.

<?php
namespace App\Http\Controllers\Api;

class UserController extends Controller
{
    public function index(): JsonResponse
    {
        return response()->json(User::paginate(15));
    }

    public function show(User $user): JsonResponse
    {
        return response()->json($user);
    }

    public function store(StoreUserRequest $request): JsonResponse
    {
        $user = User::create($request->validated());
        return response()->json($user, 201);
    }

    public function destroy(User $user): JsonResponse
    {
        $user->delete();
        return response()->json(null, 204);
    }
}

Códigos de status HTTP

Retorne códigos de status apropriados: 200 (OK), 201 (Criado), 204 (Sem conteúdo), 400 (Solicitação inválida), 401 (Não autenticado), 403 (Proibido), 404 (Não encontrado), 422 (Entidade não processável).

Validação de solicitações de formulário

Use solicitações de formulário para obter regras de validação limpas e reutilizáveis.

$ php artisan make:request StoreUserRequest

Exemplo de StoreUserRequest

Defina regras e autorização na classe da solicitação.

<?php
class StoreUserRequest extends FormRequest
{
    public function authorize(): bool { return true; }
    public function rules(): array {
        return [
            "name"  => "required|string|max:255",
            "email" => "required|email|unique:users",
        ];
    }
}

Rotas de API agrupadas

Agrupe rotas de API com prefixo e espaço de nomes.

<?php
Route::prefix("v1")->middleware("auth:sanctum")->group(function () {
    Route::apiResource("posts", PostController::class);
    Route::apiResource("users", UserController::class);
});

except() e only()

Exclua ou restrinja rotas específicas de um registro de recurso.

<?php
Route::apiResource("users", UserController::class)->only(["index", "show"]);
Route::apiResource("posts", PostController::class)->except(["destroy"]);

Recursos aninhados

Registre rotas de recursos aninhados para modelos relacionados.

<?php
Route::apiResource("users.posts", UserPostController::class);
// GET /api/users/{user}/posts/{post}

Resumo

Use Route::apiResource() para rotas de API RESTful em routes/api.php. Gere controladores com --api. Retorne JSON com códigos de status HTTP apropriados. Valide com solicitações de formulário.

Verificação rápida

Quantas rotas apiResource() registra?

Perguntas Frequentes

A aula “Rotas de API e controladores de recursos” é grátis?

Sim — o texto completo de “Rotas de API e controladores de recursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Rotas de API e controladores de recursos”?

Registre rotas RESTful e gere controladores de recursos com o Artisan. Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Rotas de API e controladores de recursos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Rotas de API e controladores de recursos
  2. Recursos de API e respostas JSON
  3. Autenticação com Laravel Sanctum
  4. Limitação de taxa e versionamento de APIs
← Voltar para PHP Academy