#php #laravel #post #request
Вопрос:
Я использую PHP 8.0.7, Laravel 8.41.0 и новичок в Laravel. Создание некоторых простых API. Никаких проблем с API-интерфейсами GET, но возникли проблемы с POST.
Объект $request всегда пуст, что бы я ни делал. Он просто возвращает [].
Я публикую ниже данные в Fiddler :
User-Agent: Fiddler
Content-Type: application/json
{
"parent_id" : "1",
"process_no" : "20",
"process_name" : "Aux Electrical",
"level" : "4",
"priority_no" : "1"
}
Я попытался сбросить содержимое запроса $в api.php безрезультатно.
Route::post('/processtree', function (Request $request){
return $request->all();
});
Я пробовал всевозможные различные версии чтения объекта $request, снова не получилось. Все, что я получаю, это [].
Есть идеи, что здесь может быть не так?
Ответ №1:
Возможно, переформатируйте свой json в действительный ( :
вместо =
)
{
"parent_id":"1",
"process_no":"20",
"process_name":"Aux Electrical",
"level":"4",
"priority_no":"1"
}
Комментарии:
1. Похоже, что $request->getcontent() решает проблему. Он принял «=». Однако я все еще не могу ничего получить с помощью $request->all(), даже с «:» в данных JSON.
2. @Ozguru
$request->getcontent()
возвращает необработанные данные, такие же, какphp::input
(file_get_contents("php://input")
) Это подтверждает вам, что данные получены, но формат неверен для автоматического анализа