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} → destroyGerando 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=UserExemplo 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 StoreUserRequestExemplo 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
- Rotas de API e controladores de recursos
- Recursos de API e respostas JSON
- Autenticação com Laravel Sanctum
- Limitação de taxa e versionamento de APIs