Я создаю API Laravel 5.8 (PHP 7.3.6), и функции GET, POST и DELETE работают нормально, но я не могу заставить PUT вести себя должным образом. Когда я использую Postman и делаю запрос PUT к "сайтам", он ведет себя как запрос GET. Методы GET, POST и DELETE ведут себя так, как я и ожидал, т.е. идут по правильным маршрутам.
Это вело себя так в IIS, но теперь я использую Docker с Apache и PHP 7.3.6, и он ведет себя так же.
Такое ощущение, что это должно быть связано с Laravel, или, может быть, я просто неправильно использую Postman. Любые идеи?
Это мой api.php...
Route::get('sites', 'SelectSites@index');
Route::get('sites/{id}', 'SelectSites@show');
Route::put('sites', 'SelectSites@create');
Route::post('sites/{id}', 'SelectSites@update');
Route::delete('sites/{id}', 'SelectSites@delete');
Это метод создания...
public function create(){
$sites = "CREATE";
return $sites;
}
Это docker-compose.xml...
version: '3'
services:
app:
build:
context: .
dockerfile: .docker/Dockerfile
image: laravel-docker
ports:
- 8086:80
Это файл VirtualHost...
<VirtualHost *:80>
DocumentRoot /srv/app/public
<Directory "/srv/app/public">
AllowOverride all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Limit GET POST PUT DELETE>
Order allow,deny Allow from all
</Limit>
</VirtualHost>
ОБНОВЛЕНИЕ
Это работает локально в IIS, мне просто пришлось перезагрузить локальную машину. Он также отлично работает на веб-сервере PHP php -S 0.0.0.0:8080
. Я никогда раньше не использовал PUT. Что мне нужно сделать, чтобы настроить Docker для использования PUT?
x-www-form-urlencoded
, и у меня даже есть ключи/значения в теле, если они нужны. - person sdexp   schedule 13.08.2019/api/sites
? Вы абсолютно уверены, что не определили этот маршрут дважды? - person matticustard   schedule 13.08.2019POST
, как и должна делать ваша настоящая HTML-форма. - person Don't Panic   schedule 14.08.2019artisan route:list
? - person mniess   schedule 14.08.2019put
иpost
. Вы упомянули, что это не решило проблему, поэтому я предполагаю, что вы как-то обновили их - пожалуйста, обновите вопрос, указав, как сейчас выглядят ваши маршруты. - person Don't Panic   schedule 14.08.2019