Api: Some 500 error caused by the use of dingo

Created on 3 Sep 2016  路  1Comment  路  Source: dingo/api

I refer to the document Form Request Validation Write a validation request
php artisan make:request AccountLoginRequest

I don't have any changes,this is new file.

<?php

namespace App\Http\Requests;

use App\Http\Requests\Request;

class AccountLoginRequest extends Request
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}

then i use "Dependency Injection" to a login controller, this is my controller code

<?php

namespace App\Http\Api\V1\Controllers\Auth;

use App\Http\Api\V1\Controllers\BaseController;
use App\Http\Requests\AccountLoginRequest;
use App\Repositories\AccountRepository;

class AuthenticateController extends BaseController
{
    protected $accountRepository;

    public function __construct(AccountRepository $accountRepository)
    {
        $this->accountRepository = $accountRepository;
    }

    public function login(AccountLoginRequest $request)
    {
        var_dump($request);
    }
}

Access route, appeared the following error锛孖 saw the dingo inside the error stack,
i don't know the dingo and laravel $request or other conflicts.

Thanks.

{
    "message": "500 Internal Server Error",
    "status_code": 500,
    "debug": {
        "line": 135,
        "file": "/home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php",
        "class": "Illuminate\\Http\\Exception\\HttpResponseException",
        "trace": [
            "#0 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Validation/ValidatesWhenResolvedTrait.php(23): Illuminate\\Foundation\\Http\\FormRequest->failedAuthorization()",
            "#1 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Providers/FoundationServiceProvider.php(41): Illuminate\\Foundation\\Http\\FormRequest->validate()",
            "#2 /home/vagrant/develop/php/haolin/vendor/illuminate/container/Container.php(1031): Illuminate\\Foundation\\Providers\\FoundationServiceProvider->Illuminate\\Foundation\\Providers\\{closure}(Object(App\\Http\\Requests\\AccountLoginRequest), Object(Illuminate\\Foundation\\Application))",
            "#3 /home/vagrant/develop/php/haolin/vendor/illuminate/container/Container.php(994): Illuminate\\Container\\Container->fireCallbackArray(Object(App\\Http\\Requests\\AccountLoginRequest), Array)",
            "#4 /home/vagrant/develop/php/haolin/vendor/illuminate/container/Container.php(648): Illuminate\\Container\\Container->fireResolvingCallbacks('App\\\\Http\\\\Reques...', Object(App\\Http\\Requests\\AccountLoginRequest))",
            "#5 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(697): Illuminate\\Container\\Container->make('App\\\\Http\\\\Reques...', Array)",
            "#6 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/RouteDependencyResolverTrait.php(85): Illuminate\\Foundation\\Application->make('App\\\\Http\\\\Reques...')",
            "#7 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/RouteDependencyResolverTrait.php(57): Illuminate\\Routing\\ControllerDispatcher->transformDependency(Object(ReflectionParameter), Array, Array)",
            "#8 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/RouteDependencyResolverTrait.php(41): Illuminate\\Routing\\ControllerDispatcher->resolveMethodDependencies(Array, Object(ReflectionMethod))",
            "#9 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/ControllerDispatcher.php(143): Illuminate\\Routing\\ControllerDispatcher->resolveClassMethodDependencies(Array, Object(App\\Http\\Api\\V1\\Controllers\\Auth\\AuthenticateController), 'login')",
            "#10 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/ControllerDispatcher.php(94): Illuminate\\Routing\\ControllerDispatcher->call(Object(App\\Http\\Api\\V1\\Controllers\\Auth\\AuthenticateController), Object(Illuminate\\Routing\\Route), 'login')",
            "#11 [internal function]: Illuminate\\Routing\\ControllerDispatcher->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#12 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#13 [internal function]: Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#14 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#15 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/ControllerDispatcher.php(96): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#16 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/ControllerDispatcher.php(54): Illuminate\\Routing\\ControllerDispatcher->callWithinStack(Object(App\\Http\\Api\\V1\\Controllers\\Auth\\AuthenticateController), Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request), 'login')",
            "#17 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Route.php(174): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request), 'App\\\\Http\\\\Api\\\\V1...', 'login')",
            "#18 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Route.php(140): Illuminate\\Routing\\Route->runController(Object(Dingo\\Api\\Http\\Request))",
            "#19 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Router.php(724): Illuminate\\Routing\\Route->run(Object(Dingo\\Api\\Http\\Request))",
            "#20 [internal function]: Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#21 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Pipeline.php(52): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#22 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Http/Middleware/PrepareController.php(45): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#23 [internal function]: Dingo\\Api\\Http\\Middleware\\PrepareController->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#24 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(136): call_user_func_array(Array, Array)",
            "#25 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#26 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#27 [internal function]: Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#28 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#29 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Router.php(726): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#30 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Router.php(699): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Dingo\\Api\\Http\\Request))",
            "#31 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Router.php(675): Illuminate\\Routing\\Router->dispatchToRoute(Object(Dingo\\Api\\Http\\Request))",
            "#32 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Routing/Adapter/Laravel.php(82): Illuminate\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
            "#33 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Routing/Router.php(513): Dingo\\Api\\Routing\\Adapter\\Laravel->dispatch(Object(Dingo\\Api\\Http\\Request), 'v1')",
            "#34 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Http/Middleware/Request.php(123): Dingo\\Api\\Routing\\Router->dispatch(Object(Dingo\\Api\\Http\\Request))",
            "#35 [internal function]: Dingo\\Api\\Http\\Middleware\\Request->Dingo\\Api\\Http\\Middleware\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#36 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(150): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#37 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(44): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#38 [internal function]: Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#39 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(136): call_user_func_array(Array, Array)",
            "#40 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Dingo\\Api\\Http\\Request))",
            "#41 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Dingo\\Api\\Http\\Request))",
            "#42 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Http/Middleware/Request.php(124): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#43 /home/vagrant/develop/php/haolin/vendor/dingo/api/src/Http/Middleware/Request.php(100): Dingo\\Api\\Http\\Middleware\\Request->sendRequestThroughRouter(Object(Dingo\\Api\\Http\\Request))",
            "#44 [internal function]: Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Dingo\\Api\\Http\\Request), Object(Closure))",
            "#45 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(136): call_user_func_array(Array, Array)",
            "#46 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))",
            "#47 /home/vagrant/develop/php/haolin/vendor/illuminate/routing/Pipeline.php(32): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
            "#48 [internal function]: Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))",
            "#49 /home/vagrant/develop/php/haolin/vendor/illuminate/pipeline/Pipeline.php(102): call_user_func(Object(Closure), Object(Illuminate\\Http\\Request))",
            "#50 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(132): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))",
            "#51 /home/vagrant/develop/php/haolin/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(99): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))",
            "#52 /home/vagrant/develop/php/haolin/public/index.php(53): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))",
            "#53 {main}"
        ]
    }
}

Most helpful comment

I'm sorry, I found the solution to the problem.

Request should inherit from Dingo\Api\Http\FormRequest class.

That is ok

<?php

namespace App\Http\Requests;

use Dingo\Api\Http\FormRequest;

class AccountLoginRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}

>All comments

I'm sorry, I found the solution to the problem.

Request should inherit from Dingo\Api\Http\FormRequest class.

That is ok

<?php

namespace App\Http\Requests;

use Dingo\Api\Http\FormRequest;

class AccountLoginRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Kirtsen picture Kirtsen  路  3Comments

Sogl picture Sogl  路  4Comments

lloricode picture lloricode  路  3Comments

adrian-fjellberg picture adrian-fjellberg  路  4Comments

pongz79 picture pongz79  路  4Comments