【发布时间】:2021-08-15 13:13:01
【问题描述】:
我以application/json 内容类型从客户端向服务器发送数据。
然后我尝试在服务器端获取这些信息,例如:
public function register(Request $request)
{
$data = $request->json()->all();
var_dump($data); die();
}
它让我空着array()
我还尝试使用以下方法验证传入的 POST:
$validator = Validator::make($request->json()->all(), []);
如何在 Laravel 中获取和验证 application/json 数据?
我得到的 POST 数据如下:
dd($_POST);
array:1 [▼
"application/json" => "{"id":6,"unique_code":null,"name":"О","secondname":"П","lastname":"Валерьевич","datebirth":"14/10/1991 00:00:00","taxcode":"4545","gender":"1","created_at":null,"file":"C:\\db\\tests\\22-07-2017\\MMM1.TXT","orders":{"profession":"Директор","pacient_id":null,"payment":"1","kind_work":"1,2","factory_name":"FALKO","factory_edrpou":"2020","factory_departament":"IT","status_pass":"1","office_address":"Kiev","unique_code":"0","enterprise_id":"12","status":null},"http_code":null}"
]
【问题讨论】:
-
你检查过请求有没有json数据吗?你能检查一下
$request->all()中的内容吗? -
$request->all()将为您提供请求有效负载,无论它是 json 还是正常,但要检查它是否是 json 请求,请使用if ($request->expectsJson()) {...}然后使用return response()->json([key=>value])
标签: laravel laravel-5.2 laravel-5.4