使用 Laravel Rest Api 轻松生成 API
发布日期:作者: Gautier Deleglise
Laravel Rest Api 是一个旨在帮助您以强大方式生成 Api
的软件包,而无需重新构建代码库。它集成了以下功能
- 完整 REST API
- 自动网关集成
- 支持所有 Laravel 关系
- 完全可定制
- 整个过程都经过安全保护
- 复杂的过滤操作
- 使用一个端点修改多个模型
- 支持定制的自动文档生成
安装 Laravel Rest Api
使用 composer 安装软件包
composer require lomkit/laravel-rest-api
要开始使用该软件包,您有一个快速入门命令,可以围绕 User 模型设置一个完整的支持 API
php artisan rest:quick-start
此命令将生成 UserResource
和 UsersController
类,并将它们注册到您的 api.php
路由文件中。
完成!端点已完全注册;使用 php artisan route:list
命令查看它们。
+---------+--------------------------------+----------------------+| Method | URI | Name |+---------+--------------------------------+----------------------+| GET | api/users | api.users.detail || POST | api/users/search | api.users.search || POST | api/users/actions/{action} | api.users.operate || POST | api/users/mutate | api.users.mutate || DELETE | api/users | api.users.destroy |+---------+--------------------------------+----------------------+
要了解这些新注册的端点的可能性,请查看文档的 端点部分。
以下是搜索端点可能性的示例
// (POST) api/posts/search{ "scopes": [ {"name": "withTrashed", "parameters": [true]} ], "filters": [ { "field": "id", "operator": ">", "value": 1, "type": "or" }, { "nested": [ {"field": "user.id", "operator": "<", "value": 2}, {"field": "id", "operator": ">", "value": 100, "type": "or"} ] } ], "sorts": [ {"field": "user_id", "direction": "desc"}, {"field": "id", "direction": "asc"} ], "selects": [ {"field": "id"} ], "includes": [ { "relation": "posts", "filters": [ {"field": "id", "operator": "in", "value": [1, 3]} ], "limit": 2 }, { "relation": "user", "filters": [ { "field": "languages.pivot.boolean", "operator": "=", "value": true } ] } ], "aggregates": [ { "relation": "stars", "type": "max", "field": "rate", "filters": [ {"field": "approved", "value": true} ] } ], "instructions": [ { "name": "odd-even-id", "fields": [ { "name": "type", "value": "odd" } ] } ], "page": 2, "limit": 10}
链接
Laravel Rest Api 软件包和文档可以在 GitHub 上找到,地址为 lomkit/laravel-rest-api。
下一步
- 支持前端指标
- 使用 Laravel Scout 进行纯文本搜索
- 包含/聚合上的别名