在 Laravel REST 应用程序中,使用中间件来验证输入是否正确?

koa*_*aok 0 middleware laravel

拥有一个提供 REST 服务的 Laravel 应用程序

在对服务的每次调用中,我都希望有一些参数,请求将被路由并传递给控制器​​。

实现一些中间件来检查请求的正确性是否正确,或者在某些情况下(还不知道哪些)最好在控制器内部实现输入验证?

考虑到 Laravel 4 过滤器,已转移到中间件解决方案,我会将输入验证逻辑放在中间件实例中。

Ame*_*lia 5

您应该使用FormRequest一个使用ValidatesRequests.

这样做时,您可以为每个单独的请求指定验证和授权规则

<?php

namespace App\Http\Controllers;

use App\Http\Requests\SomeFormRequest;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;

class SomeController extends BaseController
{
   use ValidatesRequests;

   /**
    * Store the incoming blog post.
    *
    * @param  SomeFormRequest  $request
    * @return Response
    */
    public function store(SomeFormRequest $request)
    {
        // The incoming request has already been validated
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,您可以将验证委托给另一个类,并始终假设如果正在调用控制器方法,则验证通过。