在视图中显示从Laravel API资源返回的数据

时间:2019-06-04 15:40:43

标签: php laravel laravel-5.7

在laravel 5.7应用程序中,是否可以在控制器中创建API资源并在视图中显示结果?例如,如果我有一个像这样的控制器

public function index()
{
    return BookResource::collection(Book::all());
}

这条路线在我的api.php文件中

Route::get('books', 'BookController@index');

../api/books发出获取请求后,我将能够看到邮递员中的所有书籍。

如果对/books进行获取请求时我想在视图中显示书籍,我该怎么做?这是我的想法

  1. 在web.php中创建一条路由以获得books
  2. 从BookController中删除api资源并获取图书列表
  3. 在api.php获取图书路线中添加一个函数(返回该函数内部的图书资源)
  4. 在视图中显示控制器中的数据

这将是正确的方法吗?只需以这种方式提出问题,您将如何构建一个应用程序并公开其api?

1 个答案:

答案 0 :(得分:0)

您不必删除路由,可以同时保留apiweb路由来访问Book模型。

这样想:您的图书存储在数据库中,webapi路线只是访问该数据库的两种不同方式,但它们可以(而且必须 )放在单独的文件中。

基本上,您可以在web.php

Route::resource('books', 'BooksController');

api.php

Route::resource('books', 'Api\BooksController');