php - 用于 API 和非 API 使用的 Laravel 资源 Controller

标签 php laravel laravel-4 restful-url

在为也对 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/

相关文章:

php - Laravel Hash::check() 总是返回 false

php - 用于生成智能 URL 的搜索解决方案

php - 返回依赖于模型中字段值的 Eloquent 关系

php - 拉维尔 : How to count in query

php - 在搜索中输入字符 ñ 时,它会从数据库中检索所有行

php - 拉维尔 5.1 : How to limit account access so one account can be accessed at one time

php - 如何使用 Yii 命名空间

php - PHP停止1行代码的警告

php - 删除 php-mysql 结果行中的重复字段

javascript - Vue Modal 在 foreach 循环中与 Laravel 5.2