Я работаю над API RESTful Laravel 5, который, кажется, неправильно направляет запросы POST.Laravel 5 POST-маршруты для индексации вместо магазина
Это мой routes.php:
Route::group(array('prefix' => 'api/v1'), function()
{
Route::resource('messages', 'IncomingMessages');
});
И это мой контроллер:
class IncomingMessages extends Controller
{
public function index() {
return "This is index";
}
public function store() {
return "This is store";
}
public function update() {
return "This is update";
}
}
И это то, что происходит:
- Запрос
GET mydomain.com/api/v1/messages/
-> Это индекс - Просьба
PUT mydomain.com/api/v1/messages/1
-> Th это является изменение - Запрос
POST mydomain.com/api/v1/messages/
->Это индекс
Это то, что php artisan route:list
возвращается:
- GET | ГОЛОВА API/v1/сообщений: api.v1. messages.index: App \ Http \ Controllers \ IncomingMessages @ index
- GET | HEAD: api/v1/messages/create: api.v1.messages.create: приложение \ Http \ Controllers \ IncomingMessages @ create
- POST: api/v1/messages: api.v1.messages.store: App \ Http \ Controllers \ IncomingMessages @ store
- GET | HEAD: api/v1/messages/{messages}: api.v1.messages. шоу: App \ Http \ Контроллеры \ IncomingMessages @ показать
- GET | ГОЛОВА: API/v1/сообщений/{сообщения}/редактировать: api.v1.messages.edit: App \ Http \ Контроллеры \ IncomingMessages @ редактировать
- PUT: api/v1/messages/{messages}: api.v1.messages.update; App \ Http \ Контроллеры \ IncomingMessages @ обновляют
- PATCH: API/v1/сообщений/{сообщений}: App \ Http \ Контроллеры \ IncomingMessages @ обновить
- УДАЛИТЬ: API/v1/сообщений/{сообщений}: апи. v1.messages.destroy: App \ Http \ Контроллеры \ IncomingMessages @ уничтожить
Итак, мой вопрос:
Что мне не хватает? Почему он маршрутизируется на index()
вместо маршрутизации до store()
?
ПРИМЕЧАНИЯ:
- Я отключил "VerifyCsrfToken" в
Kernel.php
- Я пытаюсь запросы с помощью Chromium плагин "Почтальон".
ОБНОВЛЕНИЕ:
Проблема добавления косую /
к URL-адресу.Таким образом, вместо того, чтобы использовать этот URL:
mydomain.com/api/v1/messages/
Я пытался с этим:
mydomain.com/api/v1/messages
и работал
Привет, брат, выполните эту команду ** php artisan routes ** и покажите мне результат. –
Привет @ZakariaAcharki, я отредактировал мой вопрос, чтобы показать, что возвращает php artisan. – Arangor
Корни выглядят прекрасно, вы уверены, что запрос POST. попробуйте выполнить эту строку в консоли и подтвердите ответ: '$ .post (« api/v1/messages », функция (данные) { console.log (данные); });' –