ギターレッスンサイトを5.2から5.3にアップグレードしています。以前のデベロッパーはフルタイムの仕事をしていますので、今はサイトのオーナーとデベロッパーです...私はデベロッパーよりも優れたギタリストです...Laravel 5.2 to 5.3 - routes.phpをwebおよびapiルートファイルに変換しますか?
私のサイトはギターのレッスンコンテンツを追加するためのバックエンドを持っています。 、
// Exercise
.when('/exercise', {
templateUrl: 'views/dashboard/exercise/view-all.html',
controller: 'ExerciseViewAllController'
})
.when('/exercise/create/:lessonId?', {
templateUrl: 'views/dashboard/exercise/create.html',
controller: 'ExerciseCreateController'
})
.when('/exercise/view/:id', {
templateUrl: 'views/dashboard/exercise/view.html',
controller: 'ExerciseViewController'
})
.when('/exercise/edit/:id', {
templateUrl: 'views/dashboard/exercise/edit.html',
controller: 'ExerciseEditController'
})
.when('/exercise/edit/:id/details', {
templateUrl: 'views/dashboard/exercise/edit-details.html',
controller: 'ExerciseDetailsController'
})
.when('/exercise/edit/:id/photos', {
templateUrl: 'views/dashboard/exercise/edit-photos.html',
controller: 'ExercisePhotosController'
})
.when('/exercise/delete/:id', {
templateUrl: 'views/dashboard/exercise/delete.html',
controller: 'ExerciseDeleteController'
})
ViewAllController:私はビューで使用される角度関連のjsで見るその後
function RegisterResourceRoute($route, $name) {
Route::get($route, 'Api\\'.$name.'[email protected]');
Route::get($route.'/{id}', 'Api\\'.$name.'[email protected]');
Route::post($route, 'Api\\'.$name.'[email protected]');
Route::put($route.'/{id}', 'Api\\'.$name.'[email protected]');
Route::delete($route.'/{id}', 'Api\\'.$name.'[email protected]');
}
// Api
Route::group(['middleware' => ['api', 'auth', 'admin']], function() {
Route::group(array('prefix' => 'api'), function() {
RegisterResourceRoute('file', 'File');
RegisterResourceRoute('photo', 'Photo');
RegisterResourceRoute('category', 'Category');
RegisterResourceRoute('tag', 'Tag');
RegisterResourceRoute('lesson', 'Lesson');
RegisterResourceRoute('exercise', 'Exercise');
RegisterResourceRoute('user', 'User');
});
Route::post('/api/email', 'Api\\[email protected]');
});
、この運動のリソースのための:routes.phpのファイル、とりわけ、これらのラインを持っていました例えば、次のようになります。
angular.module('dashboard')
.controller('ExerciseViewAllController', ['$scope', '$http', function ($scope, $http) {
$scope.exercises = [];
$scope.refresh = function() {
$scope.exercises = [];
load();
};
var load = function() {
$scope.busy = true;
$http.get('/api/exercise').then(function (response) {
$scope.busy = false;
$scope.exercises = response.data;
}, function (response) {
$scope.busy = false;
});
};
load();
}]);
私はこのようなルーティングをどのように処理するのかを考えようとしています。バックエンドのダッシュボードで、練習問題のリストを表示しようとすると、たとえば、api/exerciseの404エラーが発生しました。
だから私は、管理者のルートの下にこれをweb.phpを作成しました:
Route::resource('api/exercise', 'Api\ExerciseController');
そしてapi.php
Route::group(['prefix' => 'api'], function() { Route::resource('exercise', 'Api\ExerciseController'); });
に(それが機能するようになりましたが、私は以前のgetAllたものを変更する必要がありました)関数をindex()に追加します。そうでなければ、laravelがデフォルトのインデックスメソッドを探していたのでエラーが発生しました。
私はむしろ、デフォルトのルート名を使用して動作させたいと思います。また、web.phpとapi.phpに追加したものが本当に正しい方法であるかどうかはわかりません。私は物事はうまくいくと思っていますが、私は全体の画像を見ていないことを心配しています...
本当のlaravel 5.3の方法でこれらのルートを稼働させるために何をすればよいか説明できますか?
ありがとうございました!
私のメールで私に連絡することができます:[email protected] laravelの開発者です。 –