Laravel 11 REST API CRUD最佳实践 - Medium
文章目录
使用最佳实践在 Laravel 11 中创建 RESTful API CRUD 应用程序涉及多个步骤,包括设置 Laravel 应用程序、定义路由、验证、模型、资源、创建控制器、实现存储库设计模式以及使用模型。以下是实现这一目标的分步指南:
第一步:设置 Laravel 项目
首先,通过 Composer 创建一个新的 Laravel 项目:
composer create-project --prefer-dist laravel/laravel rest-api-crud
第二步:配置 MySQL 数据库
Laravel 11 默认使用 sqlite 作为数据库连接类型。要切换到 MySQL,请在 .env 文件中将 DB_CONNECTION 修改为 mysql:
DB_CONNECTION=mysql
第三步:使用迁移创建产品模型
运行以下命令,为产品模型创建迁移文件、工厂、控制器等:
php artisan make:model Product -a
第四步:更新迁移文件
打开生成的迁移文件 database/migrations/YYYY_MM_DD_HHMMSS_create_products_table.php,在 up 方法中定义表结构:
public function up(): void
{
Schema::create('products', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string('details');
$table->timestamps();
});
}
然后运行迁移命令:
php artisan migrate
第五步:创建产品存储库接口
为产品模型创建存储库接口,以实现代码的模块化和可维护性:
php artisan make:interface Interfaces/ProductRepositoryInterface
在 app/Interfaces 目录下创建 ProductRepositoryInterface.php 文件,并添加以下代码:
<?php
namespace AppInterfaces;
interface ProductRepositoryInterface
{
public function index();
public function getById($id);
public function store(array $data);
public function update(array $data, $id);
public function delete($id);
}
第六步:创建产品存储库类
为产品模型创建存储库类:
php artisan make:class Repositories/ProductRepository
在 app/Repositories 目录下创建 ProductRepository.php 文件,并实现接口中的方法。
第七步:绑定接口与实现
将 ProductRepository 绑定到 ProductRepositoryInterface,以便依赖注入。使用以下命令创建服务提供者:
php artisan make:provider RepositoryServiceProvider
打开 app/Providers/RepositoryServiceProvider.php 文件,在 register 方法中添加以下代码:
public function register()
{
$this->app->bind(
AppInterfacesProductRepositoryInterface::class,
AppRepositoriesProductRepository::class
);
}
第八步:请求验证
创建两个请求类 StoreProductRequest 和 UpdateProductRequest,用于验证传入的数据。可以使用以下命令生成:
php artisan make:request StoreProductRequest
php artisan make:request UpdateProductRequest
在生成的请求类中定义验证规则。
第九步:创建通用 ApiResponse 类
为了统一 API 响应格式,可以创建一个通用的 ApiResponse 类:
php artisan make:class Classes/ApiResponseClass
在 app/Classes 目录下创建 ApiResponseClass.php 文件,并定义通用响应方法。
第十步:创建产品资源
使用以下命令创建资源类:
php artisan make:resource ProductResource
在资源类中定义数据格式化逻辑,以便统一返回的 JSON 数据结构。
第十一步:创建产品控制器
在控制器中使用存储库实现 CRUD 操作。打开 app/Http/Controllers/ProductController.php 文件,添加以下代码以实现控制器逻辑。
第十二步:定义 API 路由
运行以下命令发布 API 路由文件:
php artisan install:api
然后在 routes/api.php 文件中定义路由,将控制器方法映射到相应的路由。例如:
Route::apiResource('products', ProductController::class);
总结
通过以上步骤,您可以在 Laravel 11 中构建一个功能完善的 RESTful API CRUD 应用程序。该过程涵盖了从项目设置到路由定义的完整流程,同时引入了存储库设计模式和通用响应类等最佳实践,以提高代码的可维护性和扩展性。
完成所有步骤后,运行以下命令启动开发服务器并测试 API:
php artisan serve
希望这篇指南对您有所帮助!
原文链接: https://medium.com/@1415sandalanka/laravel-11-rest-api-crud-with-best-practices-fcc26505e0d2
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- 大型语言模型API指南 – Blobr
- REST API 安全最佳实践 – Akamai
- 15个常见的API测试错误及其避免方法 – Apidog
- 如何在 Node.js 中构建 gRPC API
- Link支付怎么注册?一站式指南
- 2025年最新图像算法面试题:图像识别、CNN算法与实战项目解析
- 如何获取 Pexels 开放平台 API Key 密钥(分步指南)
- 使用 FastAPI 和 RabbitMQ 构建端到端微服务:综合指南
- DeepSeek+dify 工作流应用,自然语言查询数据库信息并展示
- 医疗机构如何防范API漏洞威胁
- Swagger与API文档:如何使用Swagger实现API文档自动化生成
- Yahoo Finance API – 完整指南