Ответ, как я сказал, "вроде бы очевиден", но я не мог этого увидеть, и я уверен, что некоторые другие разработчики, вероятно, упадут на это.
После поиска как сумасшедшего и спросить всех, япопытался отправить запрос с помощью приложения Postman, но лучшее, что я знаю, чтобы проверить apis.
Не забудьте добавить файл cookie xdebug, чтобы иметь возможностьдля отладки вашей конечной точки PHP.
Там я нашел первый ключ «очевидная часть», я не отправлял данные как данные формы,Axios и другие библиотеки, отправляют данные в виде необработанной (application / json) полезной нагрузки.
Это означает, что Yii2 не сможет найти данные внутри запроса post, да, он есть, но магия Yii2 не будет работать, равно как вы не найдете эти данные внутри $ GLOBALS или в $ _POST.
Итак, читая документацию по Yii2, я обнаружил, что внутри запроса я могу использовать функцию, которая поможет мне восстановить необработанные данные, поэтому для этого используйте следующую строку:
$raw_data = Yii::$app->request->getRawBody();
Теперь эти данные получаютдля вас как для простой необработанной строки json, так что используйте мощь PHP для синтаксического анализа ее для объекта.
$object= json_decode($raw_data );
И, наконец, используйте данные внутри, вызывая свойства, которые вы ищете, отправленные на оплатуload:
Json Payload:
{
"msg":"This is my payload",
"id":"11"
}
Чтобы использовать это:
echo $object->{'msg'}; // prints: This is my payload
Так что это способ справиться с этим, теперь я хотел бы некоторые другие точки зрениячтобы увидеть, есть ли лучший способ или более чистый способ сделать это.Надеюсь, это поможет.