bentools / api-platform-create-resource
允许通过PUT操作创建资源。
0.1.0
2020-01-31 15:04 UTC
Requires
- api-platform/core: ~2.5
- symfony/config: ~3.0|~4.0|~5.0
- symfony/dependency-injection: ~3.0|~4.0|~5.0
- symfony/http-kernel: ~3.0|~4.0|~5.0
This package is auto-updated.
Last update: 2024-09-08 05:22:45 UTC
README
此包是API Platform的附加组件,通过PUT动词提供资源创建功能。
REST中的“更新”类型。
这意味着你可以发送以下请求
PUT /api/books/d9a5551f-f188-45e4-a034-00b744a08a31
Content-Type: application/ld+json
Accept: application/ld+json
{"name": "Book title"}
如果 /api/books/d9a5551f-f188-45e4-a034-00b744a08a31
不存在,则创建此资源,否则根据规范替换其内容。
这样,客户端不必关心是应该POST还是PUT,它总是PUT。这涉及将资源ID的生成委托给客户端(例如,可以使用UUIDs / ULIDs)。
安装
composer require bentools/api-platform-create-resource:0.1.*
重要提示:为了正常工作,此包必须先于ApiPlatformBundle
加载。
配置
期望此行为的资源类必须明确列出
# config/packages/api_platform_create_resource.yaml api_platform_create_resource: allowed_classes: App\Entity\Book: ~
资源实例化
如果你的实体/对象需要工厂服务进行实例化,你可以实现自己的BenTools\ApiPlatform\CreateResource\Factory\ItemFactoryInterface
并将其作为服务引用
# config/packages/api_platform_create_resource.yaml api_platform_create_resource: allowed_classes: App\Entity\Book: '@App\Services\BookFactory'
测试
谁在乎呢?😄
许可证
MIT。