【发布时间】:2015-02-27 11:19:50
【问题描述】:
我尝试在我的 Symfony2 项目中编写将提供 JSON 数据的 Web 服务。
我定义了路由来选择将处理来自网络服务的请求和响应的控制器:
_api_v1__get_products:
pattern: /v1/products/{_locale}.{_format}
defaults: { _controller: ProductsBundle:Api:products, _format: json, _locale: en-US}
requirements:
_method: GET
控制器:
public function productsAction() {
$em = $this->getDoctrine()->getManager();
$repository = $em->getRepository('ProductsBundle:Products');
$products = $repository->getAll();
//var_dump($products); die;
return new Response(json_encode(array('products' => $products)));
}
我检查了一个 var_dump($products),一切正常。
但在响应中我得到一个空的 json:
{"products":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{}]}
一些帮助?谢谢
【问题讨论】:
-
只是一个注释,但您可以使用
methods: [GET]而不是requirements._method: GET设置所需的方法。