Я использую Symfony 4 + Flex и ищу лучший способ изменить структуру исключений.
В предыдущей версии, когда я выбрасывал исключение, это было похоже на:
{
"code": 400,
"message": "Your message here"}
из функции, как: throw new HttpException(400, 'Your message here');
Теперь с Symfony 4 + Flex, с тем же кодом, у меня есть исключение со всей трассировкой:
{
"error": {
"code": 400,
"message": "Bad Request",
"exception": [
{
"message": "Your message here",
"class": "Symfony\\Component\\HttpKernel\\Exception\\HttpException",
"trace": [
{
"namespace": "",
"short_class": "",
"class": "",
"type": "",
"function": "",
"file": "/var/www/api-symfony/src/Controller/UserController.php",
"line": 45,
"args": []
},
{
"namespace": "App\\Controller",
"short_class": "UserController",
"class": "App\\Controller\\UserController",
"type": "->",
"function": "getUserByRppsAction",
"file": "/var/www/api-symfony/vendor/symfony/http-kernel/HttpKernel.php",
"line": 149,
"args": [
[
"object",
"FOS\\RestBundle\\Request\\ParamFetcher"]
]
},
{
"namespace": "Symfony\\Component\\HttpKernel",
"short_class": "HttpKernel",
"class": "Symfony\\Component\\HttpKernel\\HttpKernel",
"type": "->",
"function": "handleRaw",
"file": "/var/www/api-symfony/vendor/symfony/http-kernel/HttpKernel.php",
"line": 66,
"args": [
[
"object",
"Symfony\\Component\\HttpFoundation\\Request"],
[
"integer",
1
]
]
},
{
"namespace": "Symfony\\Component\\HttpKernel",
"short_class": "HttpKernel",
"class": "Symfony\\Component\\HttpKernel\\HttpKernel",
"type": "->",
"function": "handle",
"file": "/var/www/api-symfony/vendor/symfony/http-kernel/Kernel.php",
"line": 190,
"args": [
[
"object",
"Symfony\\Component\\HttpFoundation\\Request"],
[
"integer",
1
],
[
"boolean",
true
]
]
},
{
"namespace": "Symfony\\Component\\HttpKernel",
"short_class": "Kernel",
"class": "Symfony\\Component\\HttpKernel\\Kernel",
"type": "->",
"function": "handle",
"file": "/var/www/api-symfony/public/index.php",
"line": 37,
"args": [
[
"object",
"Symfony\\Component\\HttpFoundation\\Request"]
]
}
]
}
]
}
}
Как я могу убрать эту ошибку? Мне просто нужно иметь код и сообщение …
Спасибо !
Редактировать: в режиме Prod это хочу у меня есть:
{
"error": {
"code": 400,
"message": "Bad Request"}
}
Так что лучше, но у меня нет собственного сообщения об ошибке …
Задача ещё не решена.
Других решений пока нет …