Php 使用Laravel 4生成宁静的响应

Php 使用Laravel 4生成宁静的响应,php,json,angularjs,rest,laravel-4,Php,Json,Angularjs,Rest,Laravel 4,我正在用AngularJS构建一个应用程序,它与在Laravel4中开发的RESTAPI进行对话 到目前为止,我已经有了一个良好的开端,让每个请求发送相关的访问控制头,允许Angular与API对话,并且我还构建了一个UserController资源: Route::resource('users', 'UserController'); 然而现在我似乎面临着一堵墙。对于学习机会,我想使用良好的标准正确地构建这个RESTAPI,并且我正在尝试解决如何进行响应 我知道我想从API返回JSON,就

我正在用AngularJS构建一个应用程序,它与在Laravel4中开发的RESTAPI进行对话

到目前为止,我已经有了一个良好的开端,让每个请求发送相关的访问控制头,允许Angular与API对话,并且我还构建了一个
UserController
资源:

Route::resource('users', 'UserController');
然而现在我似乎面临着一堵墙。对于学习机会,我想使用良好的标准正确地构建这个RESTAPI,并且我正在尝试解决如何进行响应

我知道我想从API返回JSON,就我所知,我应该将每个响应包装在
数据
字段中,我还意识到我可以在我的控制器操作的底部使用类似这样的东西:

return Response::json(array(
    'data' => array(
            'users' => array(
                array(
                    'username' => 'Bob',
                    'email' => 'bob@gmail.com'
                )
            )
        ),
        'status' => 200,
        'success' => true
    ),
    200
);
但是,我不想在我的应用程序中的每个控制器操作中重复这种逻辑,因此我想知道如何使代码更干燥,以便在控制器结束时,我可以执行如下操作:

return array(
    'users' => array(
        array(
            'username' => 'Bob',
            'email' => 'bob@gmail.com'
        )
    )
);

在我的应用程序的其他地方,我可以做
Response::json
之类的事情。有什么想法吗?

正如您所说,您希望返回一个JSON响应,例如:

return Response::json(
        array(
            'status' => 'success',
            'pages' => $modelData->toArray()
        ),
        200
    );
因此,您不必每次都重复这个过程,只需在基本控制器类中创建一个createResponse…()函数,您可以在所有控制器中调用它。响应失败的函数可能类似于:

function createResponseFailed() {
    return Response::json([
        'error' => [
            'message' => 'Some failed message' 
        ]
    ], 404);
}
这只是一个简单的例子,但说明了这一点。希望有帮助