Skip to content
This repository was archived by the owner on Jun 19, 2022. It is now read-only.

Commit 9a4ebc6

Browse files
author
fd6130
committed
update exception class
1 parent c0360eb commit 9a4ebc6

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/Dto/DtoRequestResolver.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ public function resolve(Request $request, ArgumentMetadata $argument)
5959
{
6060
$errorMessages [] = $error->getPropertyPath() . ' => ' . $error->getMessage();
6161
}
62-
throw new DtoValidationException(['messages' => $errorMessages]);
62+
63+
throw new DtoValidationException(sprintf("Fail to pass DTO validation at '%s'", get_class($dto)), $errorMessages);
6364
}
6465

6566
yield $dto;
Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,27 @@
11
<?php
2+
declare(strict_types=1);
23

34
namespace Fd\HslBundle\Exception;
45

56
use Symfony\Component\HttpKernel\Exception\HttpException;
67

78
class DtoValidationException extends HttpException
89
{
10+
protected $context = [];
11+
912
/**
1013
* @param null|string|array $message Message for this error
1114
*/
12-
public function __construct($message = null)
15+
public function __construct(?string $message = '', array $context = [])
16+
{
17+
$message = $message ? $message : 'DTO validation fail.';
18+
$this->context = $context;
19+
20+
parent::__construct(400, $message, null, [] , 0);
21+
}
22+
23+
public function getContext(): array
1324
{
14-
parent::__construct(400, json_encode($message), null, [] , 0);
25+
return $this->context;
1526
}
1627
}

0 commit comments

Comments
 (0)