laravel-json-api / laravel
为Laravel应用程序提供JSON:API。
v4.1.0
2024-06-26 19:47 UTC
Requires
- php: ^8.2
- ext-json: *
- laravel-json-api/core: ^4.1
- laravel-json-api/eloquent: ^4.1
- laravel-json-api/encoder-neomerx: ^4.0
- laravel-json-api/exceptions: ^3.0
- laravel-json-api/spec: ^3.0
- laravel-json-api/validation: ^4.0
- laravel/framework: ^11.0
Requires (Dev)
- laravel-json-api/testing: ^3.0
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^10.5
- dev-develop / 4.x-dev
- v4.1.0
- v4.0.0
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.0
- v3.0.0
- v2.6.0
- v2.5.2
- v2.5.1
- v2.5.0
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.0
- v1.1.0
- v1.0.1
- v1.0.0
- v1.0.0-beta.5
- v1.0.0-beta.4
- v1.0.0-beta.3
- v1.0.0-beta.2
- v1.0.0-beta.1
- v1.0.0-alpha.5
- v1.0.0-alpha.4
- v1.0.0-alpha.3
- v1.0.0-alpha.2
- v1.0.0-alpha.1
- dev-main
- dev-feature/core-v5
- dev-junk-4.x
This package is auto-updated.
Last update: 2024-08-26 20:15:56 UTC
README
为Web工匠提供JSON:API
在您的Laravel应用程序中实现功能丰富的JSON:API兼容API。今天构建您下一个符合标准的API。
为什么使用JSON:API和Laravel JSON:API?
这是个好问题!以下是一些来自Denisa Halmaghi这篇优秀文章的原因
为什么使用JSON:API?
- 标准化的、一致的API。
- 功能丰富 - 其中包括:稀疏字段集(仅获取您需要的字段)、过滤、排序、分页、关系预加载(包含,解决了N+1问题)。
- 易于理解。
为什么使用Laravel JSON:API?
- 节省大量开发时间。
- 高度可维护的代码。
- 优秀的、详尽的文档。
- 强大的约定,但也可以高度自定义。
- 使用原生Laravel功能(如策略和表单请求)来简化开发者的迁移过程。
- 美观、表达式的Nova风格模式。
- 通过表达式的测试辅助器进行完全测试。
class PostSchema extends Schema { /** * The model the schema corresponds to. * * @var string */ public static string $model = Post::class; /** * The maximum include path depth. * * @var int */ protected int $maxDepth = 3; /** * Get the resource fields. * * @return array */ public function fields(): array { return [ ID::make(), BelongsTo::make('author')->type('users')->readOnly(), HasMany::make('comments')->readOnly(), Str::make('content'), DateTime::make('createdAt')->sortable()->readOnly(), DateTime::make('publishedAt')->sortable(), Str::make('slug'), BelongsToMany::make('tags'), Str::make('title')->sortable(), DateTime::make('updatedAt')->sortable()->readOnly(), ]; } /** * Get the resource filters. * * @return array */ public function filters(): array { return [ WhereIdIn::make($this), WhereIn::make('author', 'author_id'), ]; } /** * Get the resource paginator. * * @return Paginator|null */ public function pagination(): ?Paginator { return PagePagination::make(); } }
文档
请参阅我们的网站,laraveljsonapi.io
教程
如果您是JSON:API和/或Laravel JSON:API的新手,那么Laravel JSON:API教程是一个学习的好方法!
按照教程构建一个具有JSON:API兼容API的博客应用程序。
安装
使用Composer安装
composer require laravel-json-api/laravel
请参阅我们的文档以获取进一步的安装说明。
升级
在升级时,通常希望升级此包以及所有相关包。这是推荐的方法
composer require laravel-json-api/laravel --no-update
composer require laravel-json-api/testing --dev --no-update
composer up "laravel-json-api/*" cloudcreativity/json-api-testing
示例应用程序
要查看使用此包的示例Laravel应用程序,请参阅教程应用程序。
许可证
Laravel JSON:API是开源软件,许可协议为MIT许可证。