seregazolotaryow64
@seregazolotaryow64
IT Специалист и самоучка

Как исправить 400-ю ошибку при отправке POST-запроса?

Доброго дня!
Последние несколько дней я сталкиваюсь с проблемой при тестировании API серверной части на Yii2 и само основание от алгоритмов Postman:
6135c48a39b1e832763762.png
При вводе POST-запроса, сам Yii2 обращается к контроллеру и его действию, к кому я непосредственно обращаюсь и он при обработке долно выводится только текст и больше ничего:
<?php
namespace app\controllers;

use Yii;
use yii\web\Controller;
use yii\web\View;
...
use yii\web\NotFoundHttpException;
class SiteController extends Controller{
  ...
  public function actionServiceCodeCenter($service){
		Yii::$app->controller->enableCsrfValidation = false;
		$q = json_decode($_POST['serviceQuery']);
		
		switch($service){
                   ...
	if($_POST['serviceQuery']){
					$source = $q['fsq'];

					$generateCode = [
						ceil(getRandomFromRange(1000,9999)),
						ceil(getRandomFromRange(2000,4600))
					];

					$isSignUp = $source['svc'] === 'SignUp' ? TRUE : FALSE;
					$isForgot = $source['svc'] === 'Forgot' ? TRUE : FALSE;

					if($isSignUp){ $newCode = $generateCode[0]; }
					else if($isForgot){ $newCode = $generateCode[1]; }

					throw new HttpException(201 ,$newCode);
					
				}
				else{ throw new HttpException(405 ,'Query conflict'); }
			break;
			default: throw new HttpException(404 ,'Service not found'); break;
		}
                }
}
?>

И при тесте Yii2 вывел 400-ю ошибку и до сих пор не узнал причину возникновения. Что с алгоритмом не так и как избавиться от ошибки?
  • Вопрос задан
  • 83 просмотра
Пригласить эксперта
Ответы на вопрос 1
kawabanga
@kawabanga
use yii\web\Controller;
->
yii\rest\Controller

ну и почитайте про REST контроллеры.
Либо про отключение csrf в веб контроллерах (плохо).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы