#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, существует проблема с маршрутами, попробуйте:
-
установите это https://&ithub.com/handcraftedinthealps/RestRoutin&Bundle
#&&t; композитору требуется handcraftedinthealps/rest-routin&-bundle
-
затем добавьте в confi&/bundles.php эта строка :
HandcraftedInTheAlpsRestRoutin&BundleRestRoutin&Bundle::class =&&t; [‘all’ =&&t; true],
Ответ №3:
Обнаружена ошибка в последней версии FOSRestBundle (3.0.2) Используйте этот cmd для ее установки: композитору требуется friendsofsymfony/rest-bundle:2.5.0