API调用和普通HTML应用程序之间的区别主要在于响应,通常您的控制器使用views()进行响应,因此可以呈现它们:
/// Get the data
$books=Book::all();
/// HTML response
return view('books.index',compact('books'));
Run Code Online (Sandbox Code Playgroud)
一个API通常以JSON响应,这在Laravel中就像在做一样简单
/// Get the data
$books=Book::all();
/// JSON response
return response()->json($books);
Run Code Online (Sandbox Code Playgroud)
或简单到
return Book::all();
Run Code Online (Sandbox Code Playgroud)
要么
return Book::all()->toJson();
Run Code Online (Sandbox Code Playgroud)
在应用程序体系结构中,您还需要考虑的另一件事是路由,以区分Web与api,我通常将端点创建为
/api/books/1
Run Code Online (Sandbox Code Playgroud)
代替
/books/1
Run Code Online (Sandbox Code Playgroud)
这是在您的路线中完成的
Route::get('/api/books/{id}', 'BookController@show');
Run Code Online (Sandbox Code Playgroud)
您还应该阅读一些有关API创建的知识,因为API架构很困难,端点会变得又快又容易杂乱,这是一本关于API的不错的书https://leanpub.com/build-apis-you-wont-hate
| 归档时间: |
|
| 查看次数: |
681 次 |
| 最近记录: |