在为也对 API 执行 AJAX 调用的网站创建资源 Controller PhotosController
后,资源 Controller 似乎既可以在普通网站上使用,也可以作为 API 使用。
这会为 Photo
显示 id = 1 的 HTML 页面
http://domain.com/photos/1
Javascript 使用以下更新 Photo
资源并返回 JSON 响应
PUT http://domain.com/api/v1/photos/1
问题:我们是否会有 2 个 PhotoControllers
,一个用于处理 API 使用,一个用于非 API?
最佳答案
没有。您可以让两个单独的路由指向同一个 Controller 和操作。
Route::get('/photos/1', 'PhotoController@index');
Route::get('/api/v1/photos/1', 'PhotoController@index');
然后,在您的 Controller 方法中,您可以测试请求是否来自 Ajax。
if (Request::ajax()) {
// Do some crazy Ajax thing
}
关于php - 用于 API 和非 API 使用的 Laravel 资源 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17899609/