1
resposta

Cannot autowire service "App\Services\ResponseFactory": argument "$sucesso" of method "__construct()" is type-hinted "bool", you should configure its value explicitly.

Estou no modulo 6 aula 2 do curso de Symfony parte 2, porém ao seguir as instruções passadas o meu código apresenta o seguinte erro.

Cannot autowire service "App\Services\ResponseFactory": argument "$sucesso" of method "__construct()" is type-hinted "bool", you should configure its value explicitly.

Já baixei o projeto do professor mas ainda continua com problema.

ResponseFactory:

namespace App\Services;

use Symfony\Component\HttpFoundation\JsonResponse;

class ResponseFactory
{
    /**
     * @var bool
     */
    private $sucesso;

    /**
     * @var int
     */
    private $paginaAtual;

    /**
     * @var int
     */
    private $itensPorPagina;
    private $conteudoResposta;

    public function __construct(bool $sucesso, int $paginaAtual, int $itensPorPagina, $conteudoResposta)
    {
        $this->sucesso = $sucesso;
        $this->paginaAtual = $paginaAtual;
        $this->itensPorPagina = $itensPorPagina;
        $this->conteudoResposta = $conteudoResposta;
    }

    public function getResponse(): JsonResponse
    {
        $conteudoResposta = [
            'sucesso' => $this->sucesso,
            'paginaAtual' => $this->paginaAtual,
            'itensPorPagina' => $this->itensPorPagina,
            'conteudoRespost' => $this->conteudoResposta,
        ];

        return new JsonResponse($conteudoResposta);
    }
}

BaseController:

public function buscarTodos(Request $request): Response
    {
        $filtro = $this->dadosRequest->buscaDadosFiltro($request);
        $ordem = $this->dadosRequest->buscaDadosOredenacao($request);
        [$paginaAtual, $itensPorPagina] = $this->dadosRequest->buscaDadosPaginacao($request);

        $offset = ($paginaAtual - 1) * $itensPorPagina;

        $entityList = $this->repository->findBy($filtro, $ordem, $itensPorPagina, $offset);

        $fabricaResposta = new ResponseFactory(true, $paginaAtual, $itensPorPagina, $entityList);

        return $fabricaResposta->getResponse();
    }
1 resposta

Em algum lugar você está recebendo a ResponseFactory por parâmetro? Esse erro acontece quando o container de injeção de dependências do Symfony tenta criar esse objeto, mas ele não conhece os parâmetros necessários. Se não achar nenhum lugar onde você recebe uma ResponseFactory por parâmetro, se importa em compartilhar seu projeto no GitHub pra eu dar uma olhada?