valantic / pimcore-api-documentation
自动生成路由的API文档
0.6.3
2024-07-04 08:12 UTC
Requires
- php: ^8.2
- ext-json: *
- nelmio/api-doc-bundle: ^4.12
- pimcore/pimcore: ^11.0
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8.2
- phpstan/extension-installer: ^1.4.1
- phpstan/phpstan: ^1.11.6
- phpstan/phpstan-deprecation-rules: ^1.2.0
- phpstan/phpstan-strict-rules: ^1.6.0
- rector/rector: ^1.2.0
- roave/security-advisories: dev-latest
README
此包由valantic CEC Schweiz 开发,并处于积极开发中。
Bundle 用于根据API控制器生成API文档。
要求
- Pimcore >= 11.0.0
安装
composer require valantic/pimcore-api-documentation
- 将
ValanticPimcoreApiDocumentationBundle
添加到config/bundles.php
使用
class ProductController implements \Valantic\PimcoreApiDocumentationBundle\Http\Controller\ApiControllerInterface { use \Valantic\PimcoreApiDocumentationBundle\Controller\ApiControllerTrait; #[Route(path: '/product', name: 'rest_api_product_create', methods: Request::METHOD_POST)] public function create(ProductCreateRequest $request): ProductCreateResponse|\Valantic\PimcoreApiDocumentationBundle\Http\Response\BadRequestResponse { $errors = $this->validateRequest($request); if (count($errors) !== 0) { return new \Valantic\PimcoreApiDocumentationBundle\Http\Response\BadRequestResponse($errors); } return new ProductCreateResponse(/* ... */); } } use Symfony\Component\Validator\Constraints as Assert; class ProductCreateRequest implements \Valantic\PimcoreApiDocumentationBundle\Http\Request\Contracts\HasJsonPayload { #[Assert\NotBlank] public ?string $name = null; #[Assert\NotBlank] public ?string $description = null; } class ProductCreateResponse implements \Valantic\PimcoreApiDocumentationBundle\Http\Response\ApiResponseInterface { public static function status(): int { return \Symfony\Component\HttpFoundation\Response::HTTP_CREATED; } public static function getDtoClass(): string|false { return ProductCreateDto::class; } } class ProductCreateDto { public function __construct( public ?int $id, ) {} }