Почему бы не перехватить запрошенный файл URI моего определенного маршрута в Laravel 5.7? - PullRequest
0 голосов
/ 06 января 2019

У меня есть этот код в моем routes/api.php файле:

Route::group(['middleware' => 'auth:api'], function () {
  Route::prefix('photoalbum')->group(function() {
    Route::prefix('image')->group(function() {
      Route::post('download/{albumId}/{size}/{filename}',
                  'PhotoalbumImageController@download');
      // ...
    });
  });
});

Route::fallback('HomeContorller@index');

Теперь я пытаюсь открыть этот URL:

http://myproject.test/api/photoalbum/image/download/1/xs/dog.jpg

... и я получаю результат от функции HomeController@index. Другие маршруты работают нормально.

UPDATE

php artisan route:list получить правильный список маршрутов, содержащий это:

|        | POST     | api/photoalbum/image/download/{albumId}/{size}/{filename}      |      | App\Http\Controllers\PhotoalbumImageController@download          | api,auth:api,auth |

Дополнительно: запрошенный файл не существует. Контроллер должен обрабатывать и обслуживать его.

Почему бы не перехватить запрос моего определенного маршрута и не отправить его в функцию PhotoalbumImageController@download и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Пожалуйста, попробуйте это, и используйте имя для маршрутов, это полезно, и помните, если вызов - GET, POST, PUT и т. Д.

Route::group(['middleware' => 'auth:api','prefix'=>'photoalbun/image'], function () {
Route::match(['post','get'],'/download/{albumId}/{size}/{filename}','PhotoalbumImageController@download')->name('api.photoalbun.image.download');
    });

Для просмотра всех маршрутов вы можете использовать

php artisan route:list
0 голосов
/ 07 января 2019

Ваш определенный тип маршрута - POST, и вы пытаетесь получить к нему доступ через GET. изменение маршрута на Route::get решит вашу проблему.

...