什么是RESTful API?
我正在开展一个学校项目,项目名称为:...使用Web RESTful API ...
所以,我决定编写一个Android应用程序作为客户端,以及服务器端Laravel Framework(版本5)。
当我听到REST API时,我的理解是:获取,放置,删除,编辑,更新,索引。
这就是为什么我创建了一个名为APIController
的类,其中该项目包含与“外部”进行通信的所有方法。
我认为用户注册应该如何工作的一个例子:
routes.php
Route::post('/register', array('uses' => 'APIController@postRegisterUser', 'as' => 'postRegisterUser'));
APIController :
class APIController extends Controller {
public function postRegisterUser() {
$validator = Validator::make(Input::all(), array(
'email' => 'required|email|unique:users,email',
'uuid' => 'required|unique:users,uuid',
'name' => 'required|min:6'
));
if ($validator->fails()) {
return Utils::buildJSONResponse(false, array('Invalid parameters', $validator->messages()), null);
}
$password = Utils::generateRandomString(6);
$result = array(
'email' => Input::get('email'),
'password' => $password,
'uuid' => Input::get('uuid')
);
$user = new User();
$user->email = Input::get('email');
$user->password = Hash::make($password);
$user->name = Input::get('name');
$phone_number = Input::get('phone_number');
if ($phone_number != null) {
$user->phone_number = $phone_number;
}
if (!$user->save()) {
return Utils::buildJSONResponse(false, array('An error occurred'), null);
}
return $response = Utils::buildJSONResponse(true, null, $result);
}
}
和一个帮手类:
...
public static function buildJSONResponse($success, $errors, $data) {
$result = array();
$result['success'] = $success;
$result['error'] = $errors;
$result['data'] = $data;
return Response::json($result, 200, array(), JSON_PRETTY_PRINT);
}
...
这是正确的方法吗?
这是一个REST API应该如何工作?
我很困惑,因为我在互联网上看过其他例子,人们说模型类(在我的情况下User.php)应该包含REST方法。
另外,我找到了这个例子:http://laravel.com/docs/5.0/controllers#restful-resource-controllers
如果您查看表格,您将看到控制器类“PhotoController”默认使用REST方法。 这是抽象的吗? 我应该实施创建,编辑,删除等方法吗?
链接地址: http://www.djcxy.com/p/71303.html上一篇: What is exactly a RESTful API?
下一篇: What exactly is REST architecture and how is it implemented in Rails?