Ошибка получения страницы 404 при попадании URL-адреса api от почтальона - PullRequest
0 голосов
/ 20 февраля 2019

это мой контроллер

  public function show($id)
    {
         echo $data=Poll_model::find($id);
        // echo $data=DB::select('Select * form tbl_poll where id=?',[$id]);
        //echo "string";

    }

, и я нажал на этот URL от почтальона http://localhost/total/public/api/1

он показывает 404 страница ошибки не найдена

, но

когда я нажимаю http://localhost/total/public/api

это на 100% работает и показывает мои данные.

это мой список маршрутов.enter image description here

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Поскольку у вас есть объявление маршрута как:

Route::resource('/','Poll');

Laravel собирается создать все маршруты с первичной структурой URL как http://localhost/total/public/api/

Если вы хотитеиметь модуль с именем poll, а затем его маршруты ресурсов:

`Route::resource('polls','\App\Http\Controllers\Poll');`

Это даст вам URL-адреса, такие как:

GET `http://localhost/total/public/api/polls`
GET `http://localhost/total/public/api/polls/create`
POST`http://localhost/total/public/api/polls`
GET `http://localhost/total/public/api/polls/{poll}`
GET `http://localhost/total/public/api/polls/{poll}/edit`
PUT/PATCH `http://localhost/total/public/api/polls/{poll}`
DELETE`http://localhost/total/public/api/polls/{poll}`

Я бы рекомендовал именовать контроллер как PollController вместопросто Poll, поскольку легко понять, что это класс контроллера.

См. документацию для получения дополнительной помощи.

0 голосов
/ 20 февраля 2019

пожалуйста, обновите ваш маршрут для метода показа и попробуйте как:

Route::get('poll/{id}/show', 'App\Http\Controllers\Poll@show');

тогда ваш URL-адрес будет выглядеть так:

...