定制 nubitio/api-platform 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nubitio/api-platform

最新稳定版本:v0.3.1

Composer 安装命令:

composer require nubitio/api-platform

包简介

API Platform bridge for the Nubit admin stack: data-grid filter (sort/filter/searchValue), translated OpenAPI docs with x-crud hints for @nubitio/hydra, pagination headers, and entity traits.

README 文档

README

API Platform bridge for the Nubit admin stack: everything a Symfony backend needs so @nubitio/react-admin can auto-generate CRUD screens from your API docs.

composer require nubitio/api-platform

What's inside

  • DataGridFilter — implements the grid query contract (sort, filter, searchValue) that @nubitio/core serializes. Add #[ApiFilter(DataGridFilter::class)] to a resource and the React datagrid's filtering/sorting/search work end to end.
  • GridVirtualFieldInterface — extension point for computed/joined fields with no ORM mapping. Tag implementations with nubit.api_platform.grid_virtual_field; GridFilterHelper provides the operator/parameter utilities.
  • TranslatedDocumentationNormalizer — translates ApiProperty description i18n keys into the Hydra/OpenAPI docs and forwards x-crud hints that @nubitio/hydra turns into field definitions.
  • ApiResponseListener — adds X-Total-Count, X-Total-Pages, X-Current-Page headers to collection responses.
  • ExceptionListener — maps Nubit\Platform\Exception\* to consistent JSON error responses (422 with violations for ValidationException, etc.).
  • BaseController — thin AbstractController with the ApiResponse envelope helpers.
  • Entity traitsTimestampableTrait, SoftDeletableTrait.

Service registration

Until the admin bundle ships, register the services in your config/services.yaml (the listeners carry #[AsEventListener], they just need to exist as services):

services:
    # Gets the api_platform.filter tag via autoconfiguration; required for
    # resources declaring filters: [DataGridFilter::class]
    Nubit\ApiPlatform\Doctrine\Filter\DataGridFilter: ~

    Nubit\ApiPlatform\OpenApi\TranslatedDocumentationNormalizer:
        decorates: api_platform.hydra.normalizer.documentation
        arguments:
            $inner: '@.inner'
            $translator: '@translator'
            $requestStack: '@request_stack'
            $apiLocale: '%env(APP_API_LOCALE)%'

    Nubit\ApiPlatform\Http\ApiResponseListener: ~
    Nubit\ApiPlatform\Http\ExceptionListener: ~

    # Your virtual grid fields, if any
    App\Grid\MyVirtualFields:
        tags: ['nubit.api_platform.grid_virtual_field']

License

MIT

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固