1

JsonStrategy在 ZF2 应用程序中激活了,现在可以使用AcceptableViewModelSelector Controller Plugin获取 JSON 输出。

它仅适用于Accept包含application/json.

JSON输出的正确值在哪里application/json定义?(如何)我可以定义和使用foo/bar吗?

4

2 回答 2

1

看看这里:

Zend\View\Strategy\JsonStrategy;

您可以以同样的方式实现自己的自定义策略,这没有问题。比硬编码到控制器中要干净得多,因为它可以重复使用。

于 2013-07-19T09:33:33.797 回答
0

直接在接受条件的定义数组中:

class SomeController extends AbstractActionController
{
   protected $acceptCriteria = array(
      'Zend\View\Model\JsonModel' => array(
         'application/json', // <-- here
      ),
      'Zend\View\Model\FeedModel' => array(
         'application/rss+xml',
      ),
   );

   public function apiAction()
   {
      $viewModel = $this->acceptableViewModelSelector($this->acceptCriteria);

      // Potentially vary execution based on model returned
      if ($viewModel instanceof JsonModel) {
         // ...
      }
   }
}
于 2013-07-19T09:31:37.050 回答