tandrewcl / api-request-convert
将请求内容转换为 DTO 类
v1.0
2023-02-10 09:56 UTC
Requires
- php: >=8.0.2
- symfony/http-kernel: ^6.2
README
关于包
此包是一个简单的将请求转换为 DTO 类的解决方案
安装
步骤 1:下载包
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本
$ composer require tandrewcl/api-request-convert
此命令需要您全局安装 Composer,如 Composer 文档中的安装章节所述。
步骤 2:配置和使用
感谢!由于 Symfony flex 包已自动在 config/bundles.php 中启用,无需进行配置
... use tandrewcl\ApiRequestConvertBundle\DTO\ResolvableInputDTOInterface; ... class LoginDTO implements ResolvableInputDTOInterface { #[Assert\NotBlank] #[Assert\Length(max: 16)] public ?string $login = null; #[Assert\NotBlank] #[Assert\Length(max: 16)] public ?string $password = null; public function handleRequest(Request $request): void { $params = $request->request->all(); $this->login = $params['login'] ?? null; $this->password = $params['password'] ?? null; } }
... use tandrewcl\ApiResponseConvertBundle\Handler\ResponseHandler; ... class FooController { public function loginAction(LoginDTO $loginDTO): Response { ... $authResult = $authService->auth($loginDTO->login, $loginDTO->password); ... }