如何使用Laravel 5.3创建REST完整Web服务Api
问题描述:
我已经在XAMPP中使用laravel 5.3创建了CRUD应用程序this tutorial现在我必须创建此CRUD应用程序的RESTful API,以便我能够从android应用程序执行CRUD操作。 人谁提前帮助谢谢如何使用Laravel 5.3创建REST完整Web服务Api
答
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
感谢您@Antonio你的答案您的回复现在我正在浏览器的url中获得json响应输入(localhost:8000/api/books/1)。但没有得到邮递员使用POST(本地主机:8000/api /书籍/ 1)的反应,它显示** 405方法不允许** 405方法不允许
当我使用GET它说**好(200) **但不显示了JSON –
Suul
web.php(路由文件) '路线::得到( '/',函数(){ 回报视图( '欢迎'); });' '验证: :routes();' 'Route :: get('/ home','HomeController @ index'); Route :: resource('books','BookController');' 'Route :: get('/ api/books/{id}','BookController @ show');' 'Auth :: routes ();' '路线::得到( '/家', '的HomeController @指数');' – Suul
BookController的 '公共功能显示($ ID) {$ 书=书::所有(); return response() - > json($ books); } – Suul