laravel graphql playground получил ошибку при настройке

#php #laravel #graphql #laravel-lighthouse

#php #laravel #graphql #laravel-lighthouse

Вопрос:

При настройке этого пакета в руководстве lighthouse я получил эту ошибку, что я могу сделать сейчас?

https://github.com/mll-lab/laravel-graphql-playground

Композитор

 "require": {
        "php": "^7.1.3",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "5.7.*",
        "laravel/tinker": "^1.0",
        "mll-lab/laravel-graphql-playground": "^1.0",
        "nuwave/lighthouse": "^2.6"
    },
  

Ошибка

 In Router.php line 363:  
Argument 1 passed to IlluminateRoutingRouter::group() must be of the type array, string giv     en,
called in D:Laravellighthouse-tutorialvendorlaravelframeworksrcIlluminateSupport FacadesFacade.php on line 223
--
In Router.php line 363:  
Argument 1 passed to IlluminateRoutingRouter::group() must be of the type
array, string given, called in D:Laravellighthouse-tutorialvendorlaravelframeworksrcIlluminateSupportFacadesFacade.php on line 223
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with er ror code 1
--
  

Обновить

Файл конфигурации

 <?php

return [
    // Route for the frontend
    'route' => 'graphql-playground',

    // Which middleware to apply, if any
    'middleware' => [
        // 'web',
    ],

    // Route for the GraphQL endpoint
    'endpoint' => 'graphql',

    // Control if the playground is accessible at all
    // This allows you to disable it completely in production
    'enabled' => env('GRAPHQL_PLAYGROUND_ENABLED', true),
];
  

Проблема здесь, когда я удаляю это, работает 'route' => 'graphql-playground',

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

1. Пожалуйста, покажите ваш файл маршрутов, если это возможно.

2. Это чистый проект, только в моем веб-маршрутизаторе есть url ('/')

3. Route::get('/', function () { return view('welcome'); });

4. Я подозреваю github.com/mll-lab/laravel-graphql-playground/issues/24 может быть в игре

Ответ №1:

Я обнаружил, что в GraphQLPlaygroundServiceProvider.php они используют route group:

 Route::group(
    config('graphql-playground.route'),
...
  

но для группы маршрутов требуется параметр array, поэтому я решил проблему, изменив файл конфигурации с:

 'route' => 'graphql-playground',
  

к маршруту в виде массива:

 'route' => ['graphql-playground'],
  

Это решило проблему для меня.

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

1. Пожалуйста, добавьте некоторые пояснения к вашему коду, чтобы другие могли извлечь из него уроки

Ответ №2:

Проблема объяснена:

Это произошло в репозитории lighthouse-tutorial, когда я попытался следовать дальше, я обнаружил, что это было потому, что файл конфигурации возвращает строку, в которой ожидается массив.

ИСПРАВИТЬ

Перейдите к config/graphql-playground.php репозитория lighthouse-tutorial и изменить 'route' => 'graphql-playground' на 'route' => ['graphql-playground']

Затем запустите свой composer require nuwave/lighthouse mll-lab/laravel-graphql-playground снова.

Это исправило это для меня.