我有一个处理API请求的控制器。现在我需要单独处理该控制器的任何异常,即转换为json / xml格式,覆盖消息或添加任何细节。在我的情况下,全局处理异常并不合适。
今天我有一个KernelEvent订阅者处理kernel.exception并检测当前控制器(Gist):
public function processApiException(GetResponseForExceptionEvent $event)
{
$controllerName = $this->container->get('controller_name_converter');
$resolver = new ControllerResolver($this->container, controllerName);
$controller = $resolver->getController($event->getRequest());
if ($contoller && $controller[0] instanceof JsonApiControllerInterface) {
$this->handleApiExceptionEvent($event);
}
}
所以,问题是:
答案 0 :(得分:0)
我知道和使用的方式是
在Response中发送错误代码,双方必须知道代码的含义。
在Response中返回一个像这样的json:
function mn_func($atts){
echo "<p> Testing </p>";
}
add_shortcode('mn','mn_func');