Intereting Posts
Попытка понять шаблон Post / Redirect / Get (реализованный с помощью PHP) Как загрузить и выполнить последовательность веб-страницы? Разделение списка имен, где может быть общее имя для двух первых имен Автоматическая разметка при увеличении ширины экрана jQuery нажмите на границу div Использование @ font-face с шрифтом SVG, встроенным в текущую HTML-страницу Как заставить textarea заполнить ширину его родительской ширины? Изменение имени файла по умолчанию при использовании mPDF Razor Просмотр динамических строк таблицы Текст внутри div, размещенного с помощью flex linebreaks до и после определенных тегов Как стилизовать CSS-флажки со шрифтом Awesome масштаб div до размера фонового изображения Как централизовать элементы списка внутри элемента UL? Поменяйте изображение без мерцания, показывая новое сразу загрузить внешний сайт и изменить его визуализацию

Путь restа Laravel

У меня есть файл route.php:

Route::group(array('prefix' => 'api'), function () { Route::resource( 'login', 'TokenController', ['only' => ['index', 'create', 'store', 'destroy']] ); }); 

Вот php artisen routes :

 +--------+---------------------------+-------------------+-------------------------+----------------+---------------+ | Domain | URI | Name | Action | Before Filters | After Filters | +--------+---------------------------+-------------------+-------------------------+----------------+---------------+ | | GET|HEAD / | | Closure | | | | | GET|HEAD api/login | api.login.index | TokenController@index | | | | | GET|HEAD api/login/create | api.login.create | TokenController@create | | | | | POST api/login | api.login.store | TokenController@store | | | | | DELETE api/login/{login} | api.login.destroy | TokenController@destroy | | | +--------+---------------------------+-------------------+-------------------------+----------------+---------------+ 

Какой путь мне нужен, чтобы получить ответ TokenController?
Я пробовал это:

 `http://localhost/bets/api/login/create?email=vlio20%40gmail.com&password=vlad1q` 

давая Error 404 .

Я тоже пробовал это:

 http://localhost/bets/api/login/create?email=vlio20%40gmail.com&password=vlad1q 

показывая пустую страницу (код ответа – мой index.php (это пустая html-страница).

примечание 1
Я использую xampp в качестве своего веб-сервера, а ставки – это содержащая папка.

заметка 2
Я настроил view.php для просмотра представлений в общей папке:

 'paths' => array(__DIR__.'/../../public') 

заметка 3
Использование curl:

 curl -i -H "Accept: application/json" -H "Content-Type: applicatio n/json" -X GET http://localhost/bets/public/index.php/api/login/create?email=vli o20@gmail.com&password=vlad1q 

Возврат:

 HTTP/1.1 200 OK Date: Fri, 06 Jun 2014 08:56:58 GMT Server: Apache/2.4.7 (Win32) OpenSSL/0.9.8y PHP/5.4.22 X-Powered-By: PHP/5.4.22 Content-Length: 723 Content-Type: text/html            Bets Application   
'password' is not recognized as an internal or external command, operable program or batch file.

Фактически ответ является результатом команды php artisen routes :

  1. Если вы сделаете запрос, используя http://localhost/bets/api/login с методом запроса GET (из адресной строки вашего браузера или щелкнув ссылку), то это приведет к методу index .
  2. Если вы сделаете запрос, используя http://localhost/bets/api/login/create с помощью метода запроса GET (из адресной строки браузера или щелкнув ссылку), тогда он ударит по методу create .
  3. Если вы сделаете запрос, используя http://localhost/bets/api/login с методом запроса POST (используя form где action='http://localhost/bets/api/login' ), то это приведет к методу store .

  4. Если вы делаете запрос, используя http://localhost/bets/api/login/id с методом запроса POST (используя form где action='http://localhost/bets/api/login/1' ), тогда это будет delete метод delete . 1 может быть любым id таким как 1 или 20 и так, но также вам нужно добавить скрытый ввод для метода DELETE например:

Чтобы сгенерировать форму, вы должны использовать что-то вроде:

 Form::open(array('route' => array('api.login.destroy', 1), 'method' => 'delete')) 

Обратите внимание на 1 который должен быть id модели, которую вы хотите удалить, и в основном это может быть что-то вроде $modelInstance->id потому что вы, вероятно, передадите модель с вашего controllerа в представление, в котором вы будете генерировать эту форму. Узнайте больше о документации Laravel .

После долгих исследований я начал с нуля! Теперь я поместил свой основной файл php (app.php) в каталог app / view и все файлы js, css etc в публичный каталог. Также я изменил путь просмотра laravel к пути по умолчанию (app / views) и к файлу app / route.php:

 < ?php Route::get('/', function() { return View::make('app'); }); Route::group(array('prefix' => 'api'), function() { Route::resource('login', 'TokenController', array('only' => array('index', 'create', 'store', 'destroy'))); }); App::missing(function($exception) { return View::make('index'); }); 

Надеюсь, это поможет!