Для пространства имен «Приложение» нет зарегистрированных путей. FosRestBundle, Symfony

Я получаю такое сообщение «Нет зарегистрированных путей для пространства имен« Приложение »» при выполнении запроса к моему API. Я использую FosUserBundle. FosRest все время пытается визуализировать вид ветки.

fos_rest:
param_fetcher_listener: true
body_listener: true
format_listener:
    rules:
      - { path: '^/api/test', priorities: ['json'], fallback_format: json, prefer_extension: false }
      - { path: '^/', stop: true }
view:
    templating_formats:
        html: false
    default_engine: none
    view_response_listener: 'force'
    mime_types:
        json: ['application/json;charset=UTF-8', 'application/json']
routing_loader:
    default_format: json
disable_csrf_role: IS_AUTHENTICATED_ANONYMOUSLY

и мой ApiController:

namespace AppBundle\Controller;

use AppBundle\Form\Type\PostThankYouFormType;
use AppBundle\Entity\PostThankYou;
use AppBundle\Entity\Company;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use FOS\RestBundle\Controller\FOSRestController;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use FOS\RestBundle\Controller\Annotations\View;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;

class ApiController extends FOSRestController
{
    /**
     * @Route(name = "app.api.test", path = "/api/test")
     * @Method("GET")
     * @View()
     * @return \FOS\RestBundle\View\View
     */
    public function getCompanyUsers(Request $request, Company $company)
    {
        return $this->view([
            'test' => 'test',
        ]);
    }

Ошибка:

Для пространства имен «Приложение» нет зарегистрированных путей. FosRestBundle, Symfony

Я пробовал все способы, найденные в stackoverflow, но ни один из них не работал. Я просто жду ответа json.

Я нашел ошибку. Мне приходилось два раза писать ключ "fos_rest" в моем config.yml. Первый был в середине конфигурации, а второй - в конце файла ...

Вы должны использовать аннотацию fos rest route вместо symfony one.

kunicmarko20 17.03.2018 23:34

Вы пробовали заменить @Route & @Method аннотацией FOS\RestBundle\Controller\Annotations\Get?

Iwan Wijaya 18.03.2018 09:40

Конечно, похоже, что у вас есть хотя бы один класс, определенный где-то с пространством имен App вместо AppBundle. Может быть, сделаем глобальный поиск.

Cerad 18.03.2018 13:27

Я нашел ошибку. Мне приходилось два раза писать ключ "fos_rest" в моем config.yml. Первый был в середине конфигурации, а второй - в конце файла ...

woj oj 19.03.2018 17:31

@wojoj Пожалуйста, опубликуйте это как ответ. Я просто пришел сюда в поисках решения той же самой проблемы и почти пропустил ваш комментарий.

gronostaj 22.03.2018 12:05
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание ресурсов API Laravel: Советы по производительности и масштабируемости
Создание API-ресурса Laravel может быть непростой задачей. Она требует глубокого понимания возможностей Laravel и лучших практик, чтобы обеспечить...
Как создать простое погодное приложение на Python с API OpenWeatherMap
Как создать простое погодное приложение на Python с API OpenWeatherMap
Этот учебник проведет вас через процесс создания простого погодного приложения с помощью Python и OpenWeatherMap API.
Пакеты Java
Пакеты Java
Пакет java - это группа классов, интерфейсов и подпакетов схожего типа. Думайте об этом как о папке в каталоге файлов. Мы используем пакеты, чтобы...
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
Как использовать API парсинга квитанций с помощью JavaScript за 5 минут?
В этом руководстве вы узнаете, как использовать API парсинга квитанций за 5 минут с помощью JavaScript. Eden AI предоставляет простой и удобный для...
3
5
2 512
1

Ответы 1

Чтобы быть полностью зарегистрированным действием, я думаю, вам следует использовать Action в суффиксе, например:

public function getCompanyUsersAction(

Больше нет, но даже если бы это была проблема, вы бы получили совершенно другое сообщение об ошибке.

Cerad 18.03.2018 13:25

Другие вопросы по теме