FOSRestBundle слушать только по префиксу

У меня есть приложение-приложение Symfony, и я хочу запустить FOSRestBundle только с префиксом / api / *
Я провел некоторое исследование и нашел один ответ, в котором упоминается использование зоны

zone:
- { path: ^/api/* }

Но я получаю следующую ошибку:

Невозможно найти шаблон «» (заглянул в ……

Это мой конфиг:

fos_rest:
format_listener: false
zone:
- { path: ^/api/* }
view:
view_response_listener: 'force'
formats:
json: true

И это контроллер:

use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Controller\FOSRestController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use FOS\RestBundle\View\View;class APIRestController extends FOSRestController
{
/**
* @Rest\Get("api/gettime")
*/
public function getTimeAction()
{
$restresult = new \DateTime();

$view = View::create($restresult, 200);
return $view;

}

Также:

"friendsofsymfony/rest-bundle": "2.0.0",
"jms/serializer-bundle": "^2.0"

Я часами читал документацию и смотрел онлайн, но без удачи, я просто продолжаю ходить кругами!

1

Решение

Исправьте вашу конфигурацию:

fos_rest:
format_listener:
rules:
- { path: '^/api', priorities: [ 'json'], fallback_format: json, prefer_extension: true }
zone:
- { path: ^/api/* }
view:
view_response_listener: 'force'
formats:
json: true
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector