拥有提供REST服务的Laravel应用程序
在每次调用服务时,我都会期待一些参数,请求将被路由并传递给Controller。
实现一些中间件来检查请求的正确性是否正确,或者某些情况(不知道哪些)在控制器内实现输入验证更好?
考虑到Laravel 4过滤器,已经转向中间件解决方案,我会将输入验证逻辑放在中间件实例中。
答案 0 :(得分:4)
您应该使用FormRequest
和使用ValidatesRequests
的控制器。
这样做,您可以为每个请求指定validation and authorization rules。
<?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
}
}
在这里,您可以将验证委托给另一个类,并始终假设如果调用控制器方法,则验证通过。