承接 auto1-oss/service-api-components-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

auto1-oss/service-api-components-bundle

最新稳定版本:v1.2.3

Composer 安装命令:

composer require auto1-oss/service-api-components-bundle

包简介

Auto1 Common Components for Service API/Client/Handler Bundles

README 文档

README

config.yml

framework: serializer: { enabled: true } property_info: { enabled: true }

Example EP Provider symfony.service declaration:

tag

{ name: 'auto1.api.endpoint_provider', priority: 0 }

services.yml

services: your_app.api.endpoint.provider: class: Auto1\ServiceAPIComponentsBundle\Service\Endpoint\EndpointProviderConfiguration arguments: - '@auto1.api.endpoint.factory' - '@your_app.api.endpoint_configuration.loader' tags: - { name: 'auto1.api.endpoint_provider', priority: 0 } your_app.api.endpoint_configuration.loader: class: Auto1\ServiceAPIComponentsBundle\Service\Endpoint\EndpointsConfigurationLoader arguments: - '%kernel.project_dir%/src/Resources/endpoints.yml'

Super Quick Start:

Only for proof of concept etc.

class YourProvider implements EndpointProviderInterface { public function getEndpoints(): array { return [ new EndpointImmutable( ..., ), ]; } }
services: your_app.api.endpoint.provider: class: YourProvider tags: - { name: 'auto1.api.endpoint_provider', priority: 0 }

Example of EP definition (yaml):

# Auth - method: 'POST' baseUrl: '%wkda.java_api.url%' path: '/v1/auth/oauth/token' requestFormat: 'url' requestClass: 'Auto1\ServiceDTOCollection\Authentication\OAuth\Request\PostRefreshTokenRequest' responseClass: 'Auto1\ServiceDTOCollection\Authentication\OAuth\Response\Token' - method: 'GET' baseUrl: '%wkda.java_api.admin_url%' path: '/v1/auth/user/admin/{userUuid}/roles' requestFormat: 'url' requestClass: 'Auto1\ServiceDTOCollection\Authentication\User\Request\GetUserRolesRequest' responseClass: 'Auto1\ServiceDTOCollection\Authentication\User\Response\UserRoles' # CarLead - method: 'GET' baseUrl: '%wkda.java_api.url%' path: '/v1/carlead/vin/{vin}' requestClass: 'Auto1\ServiceDTOCollection\CarLead\CarLeadRead\Request\GetCarDetailsByVinRequest' responseClass: 'Auto1\ServiceDTOCollection\CarLead\CarLeadRead\Response\CarLead[]'

Alternative:

# Auth refreshToken: method: 'POST' baseUrl: '%wkda.java_api.url%' path: '/v1/auth/oauth/token' requestFormat: 'url' requestClass: 'Auto1\ServiceDTOCollection\Authentication\OAuth\Request\PostRefreshTokenRequest' responseClass: 'Auto1\ServiceDTOCollection\Authentication\OAuth\Response\Token' getUserRoles: method: 'GET' baseUrl: '%wkda.java_api.admin_url%' path: '/v1/auth/user/admin/{userUuid}/roles' requestFormat: 'url' requestClass: 'Auto1\ServiceDTOCollection\Authentication\User\Request\GetUserRolesRequest' responseClass: 'Auto1\ServiceDTOCollection\Authentication\User\Response\UserRoles' # CarLead getCarLeadByVin: method: 'GET' baseUrl: '%wkda.java_api.url%' path: '/v1/carlead/vin/{vin}' requestClass: 'Auto1\ServiceDTOCollection\CarLead\CarLeadRead\Request\GetCarDetailsByVinRequest' responseClass: 'Auto1\ServiceDTOCollection\CarLead\CarLeadRead\Response\CarLead[]'

Example of ServiceRequest implementation:

class GetCarDetailsByVinRequest implements ServiceRequestInterface { private $vin; public function setVin(string $vin): self { $this->vin = $vin; return $this; } public function getVin() { return $this->vin; } }

Url resolution

For altering the default behaviour of Url resolution see UrlResolverCompilerPass and use auto1.api.url_resolver tag together with priority:

 # this is a default resolver auto1.api.url_resolver.parameter_aware: class: Auto1\ServiceAPIComponentsBundle\Service\UrlResolver\ParameterAwareUrlResolver arguments: - '@service_container' tags: - { name: 'auto1.api.url_resolver', priority: 0 }

Debug:

To output all registered endpoints:

bin/console auto1.debug.endpoints

统计信息

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

GitHub 信息

  • Stars: 5
  • Watchers: 4
  • Forks: 16
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固