2016-12-03 42 views

回答

3

API調用和一個普通的HTML應用程序之間的差別基本上對響應,通常是你的控制器,視圖()迴應,這樣他們就可以被渲染:

/// Get the data 
$books=Book::all(); 

/// HTML response 
return view('books.index',compact('books')); 

的API通常使用JSON,這在Laravel是因爲這樣做

/// Get the data 
$books=Book::all(); 

/// JSON response 
return response()->json($books); 

或那樣簡單

return Book::all(); 
容易響應

return Book::all()->toJson(); 

你要想想你的應用程序架構的另一件事是路線,從API區分網站,我通常創建我的終點作爲

/api/books/1 

而不是

/books/1 

這是在您的路線

Route::get('/api/books/{id}', '[email protected]'); 

你應該閱讀一些關於API創建過,因爲API架構是很辛苦,終點變得混亂實在是快,容易,這是一個很好的書上的API https://leanpub.com/build-apis-you-wont-hate

+0

感謝您@Antonio你的答案您的回覆現在我正在瀏覽器的url中獲得json響應輸入(localhost:8000/api/books/1)。但沒有得到郵遞員使用POST(本地主機:8000/api /書籍/ 1)的反應,它顯示** 405方法不允許** 405方法不允許 當我使用GET它說**好(200) **但不顯示了JSON – Suul

+0

web.php(路由文件) '路線::得到( '/',函數(){ 回報視圖( '歡迎'); });' '驗證: :routes();' 'Route :: get('/ home','HomeController @ index'); Route :: resource('books','BookController');' 'Route :: get('/ api/books/{id}','BookController @ show');' 'Auth :: routes ();' '路線::得到( '/家', '的HomeController @指數');' – Suul

+0

BookController的 '公共功能顯示($ ID) {$ 書=書::所有(); return response() - > json($ books); } – Suul