什么是RESTful API?
我正在做一个学校项目,项目名称是:…使用Web RESTful API 因此,我决定编写一个Android应用程序作为客户端,并用于服务器端Laravel框架(版本5) 当我听到RESTAPI时,我理解的是:获取、放置、删除、编辑、更新、索引 这就是为什么我创建了一个名为什么是RESTful API?,api,rest,laravel,Api,Rest,Laravel,我正在做一个学校项目,项目名称是:…使用Web RESTful API 因此,我决定编写一个Android应用程序作为客户端,并用于服务器端Laravel框架(版本5) 当我听到RESTAPI时,我理解的是:获取、放置、删除、编辑、更新、索引 这就是为什么我创建了一个名为APIController的类,其中项目包含所有它与“外部”通信的方法 我认为用户注册应该如何工作的一个示例: routes.php Route::post('/register', array('uses' => 'A
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方法
此外,我还发现了以下示例:
如果您查看该表,您将看到控制器类“PhotoController”与REST方法一起默认。这是抽象吗?我应该实现创建、编辑、删除等方法吗?您应该遵循以下示例。这是一个很好的指导方针
/users/index
或/users
应列出所有用户,get request for/users/create
应返回创建用户所需的所有信息。例如,如果您有用户组,用户可以从中选择的国家/地区应该返回它们。发布到/users/create
创建用户等。这是一篇我偶然发现的文章,它让我深入了解了API应该如何让客户端更容易使用。这可能很有用。我认为文档链接很好地总结了这与Laravel的关系。