n1215/openapi-http-foundation-validator
Composer 安装命令:
composer require n1215/openapi-http-foundation-validator
包简介
README 文档
README
OpenAPI(v3) Validators for Symfony http-foundation, using league/openapi-psr7-validator and symfony/psr-http-message-bridge.
Requirements
- PHP >= 8.1
Installation
composer require n1215/openapi-http-foundation-validator
Usage
1. install PSR-17 HTTP Factory implementation.
- You can use any implementation of PSR-17 HTTP Factory.
- ex.
nyholm/psr7
- ex.
composer require nyholm/psr7
2. create http message factory
$psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); /** @var \Symfony\Bridge\PsrHttpMessage\HttpMessageFactoryInterface $httpMessageFactory */ $httpMessageFactory = new \Symfony\Bridge\PsrHttpMessage\Factory\PsrHttpFactory( serverRequestFactory: $psr17Factory, streamFactory: $psr17Factory, uploadedFileFactory: $psr17Factory, responseFactory: $psr17Factory );
3. create validator builder
- A builder can be created from YAML file, YAML string, JSON file, or JSON string.
- You can use PSR-16 simple cache instead of PSR-6 Cache.
example1
/** @var \N1215\OpenApiValidation\HttpFoundation\ValidatorBuilder $validatorBuilder */ $validatorBuilder = (new \N1215\OpenApiValidation\HttpFoundation\ValidatorBuilder($psr17Factory)) ->fromYamlFile('/path/to/openapi.yaml') ->setCache(new YourPsr6Cache(), 86400);
example2
/** @var \N1215\OpenApiValidation\HttpFoundation\ValidatorBuilder $validatorBuilder */ $validatorBuilder = (new \N1215\OpenApiValidation\HttpFoundation\ValidatorBuilder($psr17Factory)) ->fromJsonFile('/path/to/openapi.json') ->setSimpleCache(new YourPsr16Cache(), 3600);
4. get validators from builder
/** @var \N1215\OpenApiValidation\HttpFoundation\Validators $validators */ $validators = $validatorBuilder->getValidators();
5. validate request
/** @var \Symfony\Component\HttpFoundation\Request $request */ /** @var \N1215\OpenApiValidation\HttpFoundation\RequestValidatorInterface $requestValidator */ $requestValidator = $validators->getRequestValidator(); $requestValidator->validate($request);
6. validate response
/** @var \Symfony\Component\HttpFoundation\Response $response */ /** @var \N1215\OpenApiValidation\HttpFoundation\ResponseValidatorInterface $responseValidator */ $responseValidator = $validators->getResponseValidator(); $responseValidator->validate( new \N1215\OpenApiValidation\OperationAddress('/path', 'GET'), $response );
Usage for Laravel
n1215/openapi-http-foundation-validator 适用场景与选型建议
n1215/openapi-http-foundation-validator 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 29.87k 次下载、GitHub Stars 达 2, 最近一次更新时间为 2021 年 09 月 09 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 n1215/openapi-http-foundation-validator 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 n1215/openapi-http-foundation-validator 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 29.87k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 15
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-09-09