我在PostController
class PostController extends Controller {
public function index() {
$posts = Post::all();
return response($posts);
}
}
双向:
class PostController extends Controller {
public function index() {
$posts = Post::all();
return $posts;
}
}
两者都工作正常但哪种方式更好更正确?
答案 0 :(得分:1)
我个人更喜欢这个版本:
return \Response::json($data);
因为它清楚地表明响应是实际的json数据。
只需确保项目中的新用户可以理解您的代码。
如果您正在编写一个API项目,其中所有内容总是在json中返回,只需返回模型,因为您不必让读者了解它的JSON,因为所有内容都在JSON中。
另一方面,如果它是某种混合项目(某些路由返回视图,JSON,XML,等等),尽量使这个特定的路由返回JSON数据并且没有任何东西。其他
同样如评论中所述,保持一致。越短越好。更好的是易于阅读并提供足够信息的内容。
答案 1 :(得分:0)
实际上并不重要......它取决于你的愿望和一致性。
return Response::json($model);
//or
return response()->json($model);
//or
return $model;
它为您提供相同的输出..但如果您使用response
,则可以设置状态代码。大部分时间,这个响应的东西都用在API项目中。