目前,当我遇到错误时,BadReqeustException会像这样返回json。
{
"code": 400,
"message": "missing parameter: myField"
}
因为我使用此代码
throw new BadRequestHttpException("missing parameter: $param");
但我想在异常中添加更多字段
{
"code": 400,
"missing_filed": myField
"message": "missing parameter"
}
而且我不知道如何像这种格式一样添加和返回它。
答案 0 :(得分:1)
如果您自己抛出BadRequestHttpException,您只需使用BadRequestHttpException中的额外字段扩展新的Exception类。
namespace AppBundle\Exception;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
class MyBadRequestHttpException extends BadRequestHttpException {
public $missingFiled;
public function __construct($message = null, $missingFiled = null, \Exception $previous = null, $code = 0) {
parent::__construct($message, $previous, $code);
$this->missingFiled = $missingFiled;
}
}
在哪里你想抛出异常使用这样的代码:
throw new BadRequestHttpException("missing parameter", $param);
您还可以阅读有关扩展例外here
的更多信息