sidigi/laravel-json-api-request

2.0.1 2021-03-18 07:31 UTC

This package is auto-updated.

Last update: 2024-09-18 15:05:08 UTC


README

Latest Version on Packagist GitHub Tests Action Status Total Downloads

提供一些JSON API验证功能,为Laravel表单请求提供JSON API。

安装

您可以通过Composer安装此包

composer require sidigi/laravel-json-api-request

用法

控制器

    public function index(UserIndexRequest $request)
    {
        $users = User::all();

        return response()->json($users);
    }

表单请求

use Illuminate\Foundation\Http\FormRequest;
use Sidigi\LaravelJsonApiRequest\Traits;

class UserIndexRequest extends FormRequest
{
    use IsJsonApiRequest;

    public function rules()
    {
        return $this->jsonApiRules()
    }

    //filter value ?filter[id]=1,2,3 - for all values
    public function valueFilterRules()
    {
        return [
            'id' => 'exists:users,id'
        ]
    }

    //filter value ?filter[id]=1,2,3 - for each values
    public function eachValueFilterRules()
    {
        return [
            'id' => 'integer'
        ]
    }
}
use Illuminate\Foundation\Http\FormRequest;
use Sidigi\LaravelJsonApiRequest\Traits;

class UserIndexRequest extends FormRequest
{
    use HasFilterField,
        HasGroupFields,
        HasIncludeFields,
        HasBasePaginationFields,
        HasSortFields;

    public function rules()
    {
        return array_merge(
            $this->sortRules(), // HasSortFields
            $this->filterRules(), //HasFilterField
            $this->groupRules(), //HasGroupFields
            $this->includeRules(), //HasIncludeFields
            $this->paginationRules() //HasBasePaginationFields
        );
    }
}

测试

composer test

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请参阅我们的安全策略了解如何报告安全漏洞。

致谢

许可协议

MIT许可协议(MIT)。请参阅许可文件以获取更多信息。