tandrewcl/api-request-convert

将请求内容转换为 DTO 类

安装: 115

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0 2023-02-10 09:56 UTC

This package is auto-updated.

Last update: 2024-09-10 13:21:44 UTC


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);
        ...
    }