Я относительно новичок в Symfony, и у меня возникли некоторые проблемы.Я пытаюсь напечатать подсказку пользовательского класса RequestValidator в методе, вызываемом при вызове конечной точки.
Использование Symfony 3.4
Однако я получаю следующую ошибку:
Контроллер "ApiBundle \ Endpoints \ Healthcheck \ v1 \ Index :: check ()"требует, чтобы вы указали значение для аргумента "$ request".Либо аргумент имеет значение NULL, и значение NULL не было предоставлено, значение по умолчанию не было предоставлено, либо после этого есть необязательный аргумент.
Вот моя настройка:
файл services.yml
...
_defaults:
autowire: true
autoconfigure: true
...
routing.yml
api.Healthcheck:
path: /healthcheck
controller: ApiBundle\Endpoints\Healthcheck\v1\Index::check
defaults: { _format: json }
methods:
- GET
А затем - внутри класса Index у меня есть следующее:
<?php
namespace ApiBundle\Endpoints\Healthcheck\v1;
use ApiBundle\Responses\ApiResponse;
class Index extends ApiResponse
{
public function check(HealthcheckRequest $request) {
var_dump($request);die;
}
}
Когда я отлаживаю: autowiring, я вижу мой HealthcheckRequest в списке.
Далее, когда я делаю то же самое и пытаюсь использовать подсказку типа в конструкторе класса Index,все это работает.
И, наконец, если я попытаюсь ввести подсказку Symfony / HttpFoundation / Request, внутри метода check (), он правильно его создаст.
В итоге:
Не работает:
- check (HealthcheckRequest $ request)
Работает:
- __ construct (HealtcheckRequest $ request)
- check (SymfonyRequest $ request)
Я что-то не так делаю?Любая помощь приветствуется.