【发布时间】:2017-02-17 05:51:42
【问题描述】:
我使用 laravel 自定义表单请求和命令 php artisan make:request AddressBookRequest
并在我的控制器中使用该请求,例如:
public function add_address_book($lang,$user_id,AddressBookRequest $request){
dd($request);
}
当我运行 api route laravel 显示:
NotFoundHttpException in RouteCollection.php line 161:
但是当我将 AddressBookRequest 更改为 Request 时:
public function add_address_book($lang,$user_id,Request $request){
dd($request);
}
Api 工作正常
地址簿请求:
<?php namespace App\Http\Requests;
use App\Http\Requests\Request;
class AddressBookRequest extends Request
{
/**
* 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 [
'title' => 'required',
'address' => 'required',
'latitude' => 'required',
'longitude' => 'required'
];
}
public function messages()
{
return [
'title.required' => trans('address_book.title_required'),
'address.required' => trans('address_book.address_required'),
'latitude.required' => trans('address_book.latitude_required'),
'longitude.required' => trans('address_book.longitude_required'),
];
}
}
AddressBookController 用例:
<?php namespace App\Http\Aggregate\Address_book\Controller\v1_0;
use App\Http\Requests\AddressBookRequest;
use Illuminate\Routing\Controller as BaseController;
use EventHomes\Api\ApiController;
use JWTAuth;
class AddressBookController extends BaseController
{
还有路线:
Route::group(['namespace' => 'Aggregate\Address_book\Controller\v1_0', 'middleware' => 'jwt.auth', 'prefix' => 'api/v1.0/{lang}'], function () {
Route::post('customer/{id}/address_book', 'AddressBookController@add_address_book');
});
如何修复它以使用自定义请求?
任何帮助将不胜感激
【问题讨论】:
-
将此添加到控制器文件的顶部使用 App\Http\Requests\AddressBookRequest;
-
我加了但是还是不行
-
你现在遇到什么错误?
-
检查你的请求目录路径是否为App\Http\Requests\AddressBookRequest
标签: php laravel laravel-5.2 laravel-routing