什么是RESTful API?

什么是RESTful API?,api,rest,laravel,Api,Rest,Laravel,我正在做一个学校项目,项目名称是:…使用Web RESTful API 因此,我决定编写一个Android应用程序作为客户端,并用于服务器端Laravel框架(版本5) 当我听到RESTAPI时,我理解的是:获取、放置、删除、编辑、更新、索引 这就是为什么我创建了一个名为APIController的类,其中项目包含所有它与“外部”通信的方法 我认为用户注册应该如何工作的一个示例: routes.php Route::post('/register', array('uses' => 'A

我正在做一个学校项目,项目名称是:…使用Web RESTful API

因此,我决定编写一个Android应用程序作为客户端,并用于服务器端Laravel框架(版本5)

当我听到RESTAPI时,我理解的是:获取、放置、删除、编辑、更新、索引

这就是为什么我创建了一个名为
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的关系。