Я разрабатываю спокойное приложение laravel, и мне нужно знать, как лучше всего реализовать маршруты, контроллеры и методы в Laravel для поддержки restful requests
и HTTP web requests
, мы можем легко создать контроллер ресурсов, а затем добавить следующую строку в файл маршрутов в Laravel:
Route::resource('Photo', 'PhotoController');
а затем в PhotoController
нам просто нужно добавить следующие строки кода, которые возвращают ответ json
для всех фотографий:
class PhotoController {
public function index()
{
$photos = Photo::all();
return response()->
json(['result' => $photos]);
}
}
нам также нужны Controller
и method
, которые отвечают на веб-запрос HTTP
и возвращают веб-страницу вместо ответа json
, который отображает все фотографии для веб-пользователей.
Вопрос: где лучше всего поместить этот метод и контроллер? Рекомендуется ли помещать его в один и тот же контроллер и возвращать представление? как следующий пример
class PhotoController{
public function getAll(){
$photos = Photo::getAll();
return view('views',['photos'=>$photos]);
}
}
или создать еще один Controller
и обработать там веб-запросы и добавить новый rout
в файл routes
, например: mysite.com\photos\all
в файл маршрутов?
или мне нужно сохранить это в другом Controller
, или мне нужно решить, является ли запрос из Интернета внутри того же метода, как в приведенном ниже примере:
public function index()
{
$photos = Photo::all();
if ( from web ){
return view('views',['photos'=>$photos]);
} else {
return response()->
json(['result' => $photos]);
}
}
Я также должен упомянуть, что ранее задавал следующий вопрос: restful-laravel-a">Лучшая практика проектирования для реализации маршрутов и контроллеров для RESTFul-приложения Laravel, но не получил никакого ответа.
if ($request->wantsJson()) {
? - person Skysplit   schedule 13.11.2016