anxis/laravel-json-api-resource

v1.2.2 2021-01-22 14:21 UTC

README

Latest Version on Packagist Build Status Quality Score Total Downloads

这可能是Laravel API Resource的一个替换方案,能够按照规范生成JSON API响应。(https://jsonapi.fullstack.org.cn/)。

* 需要重构和测试,欢迎提交pull request。

安装

您可以通过composer安装此包

composer require kharysharpe/laravel-json-api-resource

使用方法

预制的示例 https://github.com/kharysharpe/laravel-json-api-resource-example

从头开始

laravel new json-server
cd json-server
composer require kharysharpe/laravel-json-api-resource

routes/api.php

<?php

Route::get('/users', 'UserController@index');
Route::get('/users/{id}', 'UserController@show');

app/Http/Controllers/UserController.php

<?php

namespace App\Http\Controllers;

use App\User;

use Kharysharpe\LaravelJsonApiResource\Http\Resource\JsonApi\Resource;
use Kharysharpe\LaravelJsonApiResource\Http\Resource\JsonApi\ResourceCollection;

class UserController extends Controller
{
    public function index()
    {
        $user = User::all();

        return new ResourceCollection($user);
    }

    public function show($id)
    {
        $user = User::find($id);

        return new Resource($user);
    }
}

OR

<?php

namespace App\Http\Controllers;

use App\User;
use App\Http\Resource\UserCollection;
use App\Http\Resource\UserResource;

class UserController extends Controller
{
    public function index()
    {
        $user = User::all();

        return new UserCollection($user);
    }

    public function show($id)
    {
        $user = User::find($id);

        return new UserResource($user);
    }
}

app/Http/Resource/UserResource.php

<?php

namespace App\Http\Resource;

use Kharysharpe\LaravelJsonApiResource\Http\Resource\JsonApi\Resource;

class UserResource extends Resource
{
    //
}

app/Http/Resource/UserCollection.php

<?php

namespace App\Http\Resource;

use Kharysharpe\LaravelJsonApiResource\Http\Resource\JsonApi\ResourceCollection;

class UserCollection extends ResourceCollection
{

}

准备数据库(别忘了向用户表添加数据)

php artisan migrate

启动您的Laravel应用程序

php artisan serve

访问

测试

composer test

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

贡献

有关详细信息,请参阅 CONTRIBUTING

安全

如果您发现任何安全问题,请通过电子邮件 kharysharpe@gmail.com 而不是使用问题跟踪器来报告。

待办事项

致谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅 许可证文件