0

FOSRestBundle 工作正常,但每当我尝试返回具有 50,000 条或更多记录的大型 JSONArray 时,客户端需要超过 5 分钟并超时。

这是我的控制器

use FOS\RestBundle\Controller\FOSRestController;
use FOS\RestBundle\Routing\ClassResourceInterface;

class ProductController extends FOSRestController implements ClassResourceInterface {

    public function cgetAction(){
        $data = $this->getDoctrine()->getRepository('MyApiBundle:Product')->findAll();
        $view = $this->view($data);
        return $this->handleView($view);            
    }
}

这是我的 config.yml

fos_rest:
    param_fetcher_listener: true
    body_listener: true
    format_listener: true
    view:
        view_response_listener: 'force'        
        default_engine: php

更新 1:每当我从实体中删除关系时,一切正常。

4

1 回答 1

1

如果您向客户提供可视数据,那么返回超过可读记录量是没有意义的。您总是希望在客户端和服务器端对数据进行分页以限制负载。

于 2013-12-16T08:41:05.410 回答