使用 Laravel Rest Api 轻松生成 API

发布日期:作者:

Generate Apis with ease with Laravel Rest Api image

Laravel Rest Api 是一个旨在帮助您以强大方式生成 Api 的软件包,而无需重新构建代码库。它集成了以下功能

  • 完整 REST API
  • 自动网关集成
  • 支持所有 Laravel 关系
  • 完全可定制
  • 整个过程都经过安全保护
  • 复杂的过滤操作
  • 使用一个端点修改多个模型
  • 支持定制的自动文档生成

安装 Laravel Rest Api

使用 composer 安装软件包

composer require lomkit/laravel-rest-api

要开始使用该软件包,您有一个快速入门命令,可以围绕 User 模型设置一个完整的支持 API

php artisan rest:quick-start

此命令将生成 UserResourceUsersController 类,并将它们注册到您的 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 进行纯文本搜索
  • 包含/聚合上的别名
Gautier Deleglise photo

热情的 Laravel 开发者,致力于帮助增强 Laravel 生态系统,以提供无缝的开发者体验。🚀

Cube

Laravel 新闻通讯

加入 40,000 多位其他开发者,永不错过新的技巧、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

No Compromises

Joel 和 Aaron 是来自 No Compromises 播客的两名经验丰富的开发者,现在可以为您的 Laravel 项目提供服务。 ⬧ 每月 7,500 美元固定费用。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 返款保证。

No Compromises
Kirschbaum logo

Kirschbaum

提供创新和稳定性,以确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版本的 Laravel?立即进行自动化的 Laravel 升级和代码现代化,使您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

只需每月 2,500 美元,即可让经验丰富的 Laravel 开发人员(拥有 4-6 年经验)为您的项目增光添彩。获得 160 小时的专业知识和 15 天无风险试用。立即安排电话!

Bacancy
Lucky Media logo

Lucky Media

现在就来试试 Lucky - Laravel 开发的理想选择,拥有超过十年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar: Laravel 电子商务

Laravel 的电子商务。一个开源软件包,将现代无头电子商务功能的强大功能带到 Laravel。

Lunar: Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,它包含运行现代 SaaS 所需的所有功能。付款、漂亮的结账、管理面板、用户仪表板、身份验证、现成组件、统计数据、博客、文档等等。

SaaSykit: Laravel SaaS 启动工具包
Rector logo

Rector

您无缝进行 Laravel 升级、降低成本和加速创新的合作伙伴,帮助企业取得成功

Rector
MongoDB logo

MongoDB

通过将 MongoDB 和 Laravel 强大地集成到您的 PHP 应用程序中,使开发者能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。探索 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖性输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel Prompts 构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 软件包将评论添加到您的 Laravel 应用程序

阅读文章