Tôi đang cố gắng theo dõi Will Durand's tutorial về cách thiết lập một API REST tốt với Symfony2. Tuy nhiên tôi đã thất bại ngay từ đầu khi tôi nhận được lỗi này:Bộ điều khiển phải trả về một phản hồi, mảng được cung cấp
The controller must return a response (Array(welcome => Welcome to my API) given).
Điều gì đó cơ bản phải sai với cấu hình cơ bản của tôi. Tôi đã thử các thiết lập khác nhau cho cấu hình fos_rest
, nhưng configuration reference không cung cấp để rất hữu ích vì tôi không thực sự hiểu những gì các thiết lập duy nhất làm.
thiết lập của tôi:
//config.yml
sensio_framework_extra:
view:
annotations: true
fos_rest: ~
//Controller
<?php
namespace Acme\Bundle\ApiBundle\Controller;
use FOS\RestBundle\Controller\Annotations as Rest;
class DefaultController
{
/**
* @Rest\View
*/
public function indexAction()
{
return array(
'welcome' => 'Welcome to my API'
);
}
}
API của tôi nên quay lại oder XML JSON dựa trên chấp nhận tiêu đề. Sẽ không bao giờ có đầu ra html.
Tôi nghĩ rằng, nó nên được bổ sung trong các tài liệu chính thức (xin vui lòng liên hệ với họ và trình) . Bởi vì nó không tồn tại ngày hôm nay. Chúc mừng! –
Chỉ cần gửi thông báo lỗi liên quan từ nhật ký, để mọi người có thể tìm thấy thông báo này qua google: 'PHP message: PHP Fatal error: Uncaught exception 'RuntimeException' với thông điệp 'Bạn cần vô hiệu hóa chú thích xem trong SensioFrameworkExtraBundle khi sử dụng FOSRestBundle View Response listener . ' trong /home/jupiter/symfony/dimsym/vendor/friendsofsymfony/rest-bundle/FOS/RestBundle/DependencyInjection/Compiler/ConfigurationCheckPass.php: 27' –