Zend framework2 如何在ZF2中将默认呈现策略更改为JSON?

Zend framework2 如何在ZF2中将默认呈现策略更改为JSON?,zend-framework2,Zend Framework2,我使用ZF2创建了一个API。服务器的响应应该只包含JSON。只有在出现错误或404或403以及其他情况下,它才应该是JSON。 现在,默认情况下,ZF2尝试返回HTML。 我在控制器中使用,最简单的方法是返回Zend\View\Model\JsonModel的实例。例如: $model = new JsonModel(array( 'httpStatus' => 403, 'title' => 'Forbidden', 'message' => 'You a

我使用ZF2创建了一个API。服务器的响应应该只包含JSON。只有在出现错误或404或403以及其他情况下,它才应该是JSON。 现在,默认情况下,ZF2尝试返回HTML。
我在控制器中使用

,最简单的方法是返回
Zend\View\Model\JsonModel
的实例。例如:

$model = new JsonModel(array(
   'httpStatus' => 403,
   'title' => 'Forbidden',
   'message' => 'You are not authorized to access this page.'
));
return $model;

在控制器中,最简单的方法是返回
Zend\View\Model\JsonModel
的实例。例如:

$model = new JsonModel(array(
   'httpStatus' => 403,
   'title' => 'Forbidden',
   'message' => 'You are not authorized to access this page.'
));
return $model;

除非有一个特定的原因,你选择MVC骨架应用程序作为起点,你可能会考虑切换到骨架。这也是一个ZF应用程序,但它是纯JSONAPI。

< P>除非有一个特定的原因,你选择MVC骨架应用程序作为起点,你可以考虑切换到骨架。这也是一个ZF应用程序,但它构建为纯json api。

ZF2在引发异常时会引发错误

Zend\Mvc\View\Http\ExceptionStrategy
类附加了大量侦听这些事件的内容,因此可以生成HTML错误页面

要返回JSON错误消息,您可以附加一个您自己的

ZF2在引发异常时引发错误

Zend\Mvc\View\Http\ExceptionStrategy
类附加了大量侦听这些事件的内容,因此可以生成HTML错误页面


要返回JSON错误消息,您可以附加自己的

到目前为止您尝试了什么?你们的代码是什么?我使用zend skeleton应用程序。我知道如何在动作控制器中返回JSON(返回新的JsonModel(…)。我希望应用程序始终返回JSON。到目前为止您尝试了什么?你们的代码是什么?我使用zend skeleton应用程序。我知道如何在动作控制器中返回JSON(返回新的JsonModel(…)。我希望应用程序总是返回JSON。如果服务器上出现一些异常抛出,或者请求的页面未找到,该怎么办。在这种情况下是否可以返回JSON?您只需要在路由后捕获异常,但我不确定发生在哪里-可能添加一个“捕获所有”路由?如果服务器上出现一些异常抛出或未找到请求的页面,该怎么办。在这种情况下可以返回JSON吗?您只需要在路由后捕获异常,但我不确定在哪里发生这种情况-可能添加一个“捕获所有”路由?