Почему не доходят POST-данные в API?

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Почему не доходят POST-данные в API?

Сообщение MarkL »

Не передаются POST-данные в API Action Yii2

1. Пробовал отправлять через Postman, HTTP Client PHPStorm.
2. Пробовал использовать разные форматы, слать в: application/x-www-form-urlencoded, application/json.

Action:

Код: Выделить всё

public function actionPurchase()
    {
        $request = Yii::$app->request;
        $productId = $request->post("id");
        $quantity = $request->post("quantity");
        $email = $request->post("email");

        var_dump(
            $_POST,
            Yii::$app->request->post(),
            file_get_contents('php://input')
        );
        die;

        // Another code...
    }
Результат обращения к action:

Код: Выделить всё

array(0) {
}
array(0) {
}
string(0) ""
HTTP запрос:

Код: Выделить всё

POST http://supplier.loc/api/v1/order/purchase?key=da39a3ee5e6b4b0d3255bfef95601890afd80709
Content-Type: application/x-www-form-urlencoded

id=3&quantity=1&email=test@gmail.com
Аватара пользователя
MarkL
Сообщения: 68
Зарегистрирован: 2017.07.05, 20:37

Re: Почему не доходят POST-данные в API?

Сообщение MarkL »

Решил. Сервер POST на GET конертировал почему-то.

Ещё данный HTTP-запрос в PHPStorm не отрабатывает корректно - body-данные не передаются:

Код: Выделить всё

POST http://supplier.loc/api/v1/order/purchase?key=da39a3ee5e6b4b0d3255bfef95601890afd80709
Content-Type: application/x-www-form-urlencoded

id=3&quantity=1&email=test@gmail.com
Результат:
Изображение

Хотя эквивалентный запрос в Postman отрабатывает:
Изображение

Видимо, где-то ошибся в синтакисе, хотя делал на основе примера с PHPStorm Doc
Ответить