September 20, 2018
LumenでNuwave\Lighthouseを使うときの注意事項です。
コントローラーのエントリポイントにデフォルト設定のまま使うと、期待しない挙動が度々あったので調査の上修正しました。
config/lighthouse.php
'controller' => 'Nuwave\Lighthouse\Support\Http\Controllers\GraphQLController@query',
Nuwave\Lighthouse\Support\Http\Controllers\GraphQLController
はIlluminate\Routing\Controller
を継承していますが Laravel\Lumen\Routing\Controller
を継承する必要があります。
config/lighthouse.php
'controller' => 'App\Http\GraphQL\GraphQLController@query',
を設定して、App\Http\GraphQL\GraphQLController
を作成します。
中身は Nuwave\Lighthouse\Support\Http\Controllers\GraphQLController
をコピペです。そして継承先を App\Http\Controllers\Controller
にします。
正常動作のための一設定でした。
Written by Ta Toshio who lives and works in Saitama, Japan .You should follow him on Twitter