您好我正在尝试添加自定义异常,但它无法正常工作
现在我的回答是这样的:(也就是故障的debuger不会触发那个类)
{
"error": {
"code": 500,
"message": "Required Parameter Missing"
}
}
这是fos rest的默认例外 我添加了包装异常的新类
class ExceptionWrapperHandler implements ExceptionWrapperHandlerInterface {
public function wrap($data)
{
$exception = $data['exception'];
$newException = array(
'success' => false,
'exception' => array(
'exceptionClass' => $exception->getClass(),
'message' => $data['status_text']
)
);
return $newException;
}
}
我的配置文件:
fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener: true
routing_loader:
default_format: json
view:
view_response_listener: force
formats:
json: true
xml: true
templating_formats:
html: false
# exception_wrapper_handler: CLASS path
exception:
enabled: true
service:
exception_handler: appname.exception_handler
serializer: jms_serializer.serializer
serializer:
serialize_null: true
答案 0 :(得分:0)
您需要将您的Exception类添加到config.yml中fos_rest配置中的exception.messages数组中,以显示您的自定义消息
fos_rest:
exception:
enabled: true
messages:
'AppBundle\ExpeptionHandler\ ExceptionWrapperHandler': true