我正在阅读和观看有关Laravel中API开发的一些教程。我完全是API开发的新手,尽管我已经使用了Laravel。
在我完成的所有教程中,他们处理:登录,获取一些数据,更新信息,删除信息,甚至将一些信息插入数据库。
我的问题是这些教程都没有像用户注册那样处理。
Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function()
{
Route::resource('users', 'UsersController');
Route::resource('messages', 'MessagesController');
});
从上面的代码中,它假定用户必须先注册才能获得对auth.basic
的控制器的访问权。
所以,我的问题是:我如何处理注册?因为似乎我不会将它与上面的代码分组。
答案 0 :(得分:3)
您不能将注册路由放在具有auth.basic过滤器的路由组中。然后,只有登录的用户才能注册。
所以你应该建立新的注册路线:
// Opens view to register form
Route::get('register', array('as'=>'register', 'uses'=>'UserController@getRegister'));
// Handles registering
Route::post('register', array('uses'=>'UserController@postRegister'));
网址将变为:http://yourhost/register
或者,如果您仍想使用前缀,则可以分组:
Route::group(array('prefix'=>'api/v1'), function(){
// Opens view to register form
Route::get('register', array('as'=>'register', 'uses'=>'UserController@getRegister'));
// Handles registration
Route::post('register', array('uses'=>'UserController@postRegister'));
});
网址将变为:http://yourhost/api/v1/register
然后在getRegister()
中创建postRegister()
和UserController
方法:
<?php
class UserController extends BaseController{
public function getRegister(){
// Return register form
return View::make('users.register');
}
public function postRegister(){
// Validate post info and create users etc.
}
有很多教程可以帮助您在Laravel中进行用户注册,
http://code.tutsplus.com/tutorials/authentication-with-laravel-4--net-35593