Я работаю над RESTful API 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
-> Это обновление - Запрос
POST mydomain.com/api/v1/messages/
-> Это индекс
Вот что возвращает php artisan route:list
:
- GET | HEAD: api / v1 / messages: api.v1.messages.index: App \ Http \ Controllers \ IncomingMessages @ index
- ПОЛУЧИТЬ | ГОЛОВКА: api / v1 / messages / create: api.v1.messages.create: App \ 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.show: App \ Http \ Controllers \ IncomingMessages @ show
- GET | HEAD: api / v1 / messages / {messages} / edit: api.v1.messages.edit: App \ Http \ Controllers \ IncomingMessages @ edit
- PUT: api / v1 / messages / {messages}: api.v1.messages.update; Приложение \ Http \ Controllers \ IncomingMessages @ обновление
- ПАТЧ: api / v1 / messages / {messages}: App \ Http \ Controllers \ IncomingMessages @ update
- УДАЛИТЬ: api / v1 / messages / {messages}: api.v1.messages.destroy: App \ Http \ Controllers \ IncomingMessages @ destroy
Итак, мой вопрос:
Что мне не хватает? Почему он направляется на index()
, а не на store()
?
ПРИМЕЧАНИЯ:
- Я отключил VerifyCsrfToken в
Kernel.php
- Я пытаюсь выполнить запросы с помощью плагина Chromium "Почтальон".
ОБНОВЛЕНИЕ:
Проблема заключалась в добавлении завершающего /
к URL-адресу. Итак, вместо использования этого URL:
mydomain.com/api/v1/messages/
Я пробовал с этим:
mydomain.com/api/v1/messages
и это сработало
$.post( "api/v1/messages", function( data ) { console.log( data ); });
- person Zakaria Acharki   schedule 09.07.2015