Не удается загрузить ресурс «». Убедитесь, что есть загрузчик, поддерживающий тип «rest»

#php #api #symfony #symfony4 #fosrestbundle

#php #API #symfony #symfony4 #fosrestbundle

Вопрос:

Я столкнулся с этой ошибкой при создании REST API с использованием Symfony версии 4.99 и fosrestbundle .

Когда я запускаю php bin/console debu&:router , я получаю это:

Не удается загрузить ресурс «App ControllerListController». Убедитесь, что есть загрузчик, поддерживающий тип «rest».

Вот код Routes.yaml:

 lists:
    type      : rest
    resource  : AppControllerListController
    prefix    : api
  

Вот код fos_rest.yaml :

 fos_rest: 
    format_listener:
        rules:
            - { path: ^/,  fallback_format: json, priorities: [ 'json' ] }

    exception:
        enabled: true

    view:
        view_response_listener:  'force'
        formats:
            json: true 
  

Вот код ListController.php:

 <?php

namespace AppController;

use SymfonyComponentRoutin&AnnotationRoute;
use FOSRestBundleControllerAbstractFOSRestController;
use FOSRestBundleControllerAnnotations as Rest;

class ListController extends AbstractFOSRestController
{
    public function &etListsAction()
    {

    }
}
  

Комментарии:

1. Я бы предположил, что в ваших маршрутах. yaml тип в конечном итоге может быть annotation (это совершенно неясно, поскольку вы еще не определили никаких маршрутов), как предложено в symfony.com/doc/current /…

2. Пожалуйста, поделитесь более подробной информацией — для Symfony нет версии 4.99

3. Я отредактировал свой пост и добавил код fos_rest.yaml.

Ответ №1:

Для новейших версий (&&t; 3.0) вы должны изменить тип маршрута с rest на annotation. Информация здесь

Ответ №2:

в symfony 5. * в отличие от FOSRestBundle, существует проблема с маршрутами, попробуйте:

  1. установите это https://&ithub.com/handcraftedinthealps/RestRoutin&Bundle

    #&&t; композитору требуется handcraftedinthealps/rest-routin&-bundle

  2. затем добавьте в confi&/bundles.php эта строка :

    HandcraftedInTheAlpsRestRoutin&BundleRestRoutin&Bundle::class =&&t; [‘all’ =&&t; true],

Ответ №3:

Обнаружена ошибка в последней версии FOSRestBundle (3.0.2) Используйте этот cmd для ее установки: композитору требуется friendsofsymfony/rest-bundle:2.5.0