Я получаю такое сообщение «Нет зарегистрированных путей для пространства имен« Приложение »» при выполнении запроса к моему 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',
]);
}
Ошибка:
Я пробовал все способы, найденные в stackoverflow, но ни один из них не работал. Я просто жду ответа json.
Я нашел ошибку. Мне приходилось два раза писать ключ "fos_rest" в моем config.yml. Первый был в середине конфигурации, а второй - в конце файла ...
Вы пробовали заменить @Route & @Method аннотацией FOS\RestBundle\Controller\Annotations\Get?
Конечно, похоже, что у вас есть хотя бы один класс, определенный где-то с пространством имен App вместо AppBundle. Может быть, сделаем глобальный поиск.
Я нашел ошибку. Мне приходилось два раза писать ключ "fos_rest" в моем config.yml. Первый был в середине конфигурации, а второй - в конце файла ...
@wojoj Пожалуйста, опубликуйте это как ответ. Я просто пришел сюда в поисках решения той же самой проблемы и почти пропустил ваш комментарий.





Чтобы быть полностью зарегистрированным действием, я думаю, вам следует использовать Action в суффиксе, например:
public function getCompanyUsersAction(
Больше нет, но даже если бы это была проблема, вы бы получили совершенно другое сообщение об ошибке.
Вы должны использовать аннотацию fos rest route вместо symfony one.