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();
    }

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
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?