Как я могу сделать маршрут API в Laravel с параметром - PullRequest
0 голосов
/ 14 мая 2019

мой маршрут:

Route::get('page/{key_id_fk}', 'PagesApiController@show'); 

моя функция:

public function show($key_id_fk)
{
    $sub=DefintionDetails::find($key_id_fk);

  //  $main=Definition::where([['type','=',1],['available','=',1],['id_definition','=',$sub->id_def]])->get();
    return response()->json($sub , 200);
}

на почтовом маршруте page?key_id_fk=1 выдать ошибку 404 не найден ключ в базе данных, но не прочитан.

Ответы [ 4 ]

3 голосов
/ 14 мая 2019

Вы должны обращаться к page/1 вместо page?key_id_fk=1, поскольку вы не используете запросы параметров в URL-адресе запроса.

Ваш формат маршрута: page/$key_id_fk.

0 голосов
/ 18 мая 2019

В файле маршрута:

    Route::get('page/{key_id_fk}', 'PagesApiController@show'); 

В контроллере:

public function show($key_id_fk){

    $sub = DefintionDetails::find($key_id_fk); 

    if($sub){
       return response()->json(['success' => true, 'sub' => $sub]);
    } else {
       return response()->json(['success' => false, 'error_message' => 'No data found!']);
    }
}

Ваш маршрут почтальона:

http://example.com/page/1
0 голосов
/ 14 мая 2019

В вашем контроллере

Route::get('page', 'PagesApiController@show');

Поймайте строку запроса с помощью запроса Laravel

public function show(Request $request){

    //check if key_id_value is present in your request
    if ($request->has('key_id_fk')) {

    //get the value of your query string
    $sub=DefintionDetails::find($request->query('key_id_fk')); 

    // the rest of your code
}

Попробуйте

http://localhost/page?key_id_fk=1

Запросы Laravel

0 голосов
/ 14 мая 2019

Вы устанавливаете key_id_fk как http://example.com/page/1 в маршруте, а передаваемый параметр - как http://example.com/page?key_id_fk=1 Разница: первый - Данные маршрута URL , а второй - ПОЛУЧИТЬ данные параметра , чтобы получить данные из маршрута URL у вас есть public function show($key_id_fk) и для получения данных из GET параметра public function show(Request $request) и $request->key_id_fk.

поэтому измените URL на этот http://example.com/page/1 формат или же изменить метод получения в контроллере на public function show(Request $request) и $request->key_id_fk

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...