Request POST mi vypisuje chybu 405 Method Not Allowed
Dobrý den, v Laravel aplikácii mám vytvorený testovací REST API a POST request, ktorý má vrátiť hodnotu „test“. Testujem to na lokálnom webservri Apache (WAMP) a funguje to, ale na wedos webhostingu (POST: bigoo.eu/subdom/API/public/index.php/api/post) mi vypisuje chybu „405 Method Not Allowed“.
Pravdepodobne je to problém v nastaveniach v „.htaccess“, ktorý mám aktuálne nastavený takto:
RewriteEngine On # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\.)?(.*)\.([^\.]*)\.([^\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R] RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Prosím o pomoc, ako (a čo?) nastaviť aby fungoval POST request.
Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
JŠ255861 Vybral nejlepší odpověď 19. 10. 2021
3 Answers
Nefunguje žiadny route typu POST (na lokále mi to beží). Tu je najjednoduchší z nich (písané v Laravel, ver.7):
súbor route-ov „api.php“:
/* testovacie routy: */ Route::get('info','API\RegisterController@info'); Route::post('post','API\RegisterController@post');
súbor kontrolér „RegisterController.php“:
class RegisterController extends BaseController { public function info() { return 'Toto je info z register kontrolera.'; } public function post(Request $request) { $input = $request->all(); $success = 'test: '. $input['test']; return $this->sendResponse($success, 'test post is OK'); }
A v utilite „Postman“ mám:
POST bigoo.eu/subdom/API/public/index.php/api/post
a v „Body/form-data“ nastaviť:
key: value: test 123456789
Role: Zákazník
JŠ255861 Změnil status na publikováno 23. 8. 2021