Laravel中快速构建API,了解一下laravel-restify
Laravel Restify是一个使用 Laravel制作强大的JSON:API兼容的Rest API的包。
安装软件包并遵循设置指南后 , 您可以使用存储库 CLI 快速开始:
php artisan restify:repository Dream --all
存储库是这个包的核心。
上面的示例命令将生成一个空白存储库,您可以向其中添加字段,如下例所示:
namespace App\Restify;
use App\Models\Dream;
use Binaryk\LaravelRestify\Http\Requests\RestifyRequest;
class DreamRepository extends Repository
{
public static string $model = Dream::class;
public function fields(RestifyRequest $request): array
{
return [
id(),
field('title')->required(),
field('description'),
field('image')->image(),
];
}
}
如果您不定义$model属性,Restify 可以根据存储库类名称(即模型)DreamRepository进行猜测,Dream模型
这是一个内置UserRepository类的示例
(您可能希望在真实应用中保护它),它将返回 JSON API 格式的 API 响应:
GET: /api/restify/users?perPage=10&page=2
{
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "http://localhost:8000/api/restify/users",
"per_page": 15,
"to": 1,
"total": 1
},
"links": {
"first": "http://localhost:8000/api/restify/users?page=1",
"next": null,
"path": "http://localhost:8000/api/restify/users",
"prev": null,
"filters": "/api/restify/users/filters"
},
"data": [
{
"id": "1",
"type": "users",
"attributes": {
"name": "Paul Redmond",
"email": "[email protected]"
}
}
]
}
该软件包还引导您完成身份验证过程、高级过滤等!
相关知识链接
官方手册:
https://restify.binarcode.com/
git:
https://github.com/binarcode/laravel-restify
转:
https://laravel-news.com/laravel-restify
相关文章