При вызове Laravel API с параметром возникает ошибка 404: страница не найдена, но при удалении параметра все работает нормально.
API.php имеют следующий код
Route::get('Parties/{aToken}',"CustomerController@apiParties");
контролер имеет следующий код
function apiParties(request $request,$token){
$parties = DB::table('parties')
->Where("status","1")
->get()
->take(20);
return json_encode($parties);
}
Пробовал слишком много вещей, но не работал. Я работаю на сервере, а не на локальном хосте, поэтому у меня нет терминала.
Всегда используйте маленькие буквы в URL-адресах и параметрах.
Кроме того, параметр в методе контроллера должен быть Request
вместо request
.
сделал это, но не работает.
Измените это
->get()->take(20);
к
->take(20)->get();
более плавно:
return DB::table('parties')
->Where("status","1")
->take(20)
->toJson();
Используйте Request только тогда, когда он вам нужен, я вижу, что вы действительно не используете его в этой области кода. И убедитесь, что вы уже правильно импортировали фасады БД:
use Illuminate\Support\Facades\DB;
Если вы хотите сделать параметр необязательным, добавьте ?
перед закрывающей фигурной скобкой.
Во-вторых, вам нужно использовать Request $request
, начинающийся с заглавной буквы.
Вы также используете Request в контроллере, но имя класса - это запрос, использующий R в капитале позже