【发布时间】:2020-10-15 08:35:25
【问题描述】:
在 Laravel 6.2 - 稳定版本上运行
我不完全确定我在哪里出错 - 它适用于一种方法,但不适用于另一种方法。唯一的区别是 URL 格式。
(只是试图从发布请求中获取正文信息)
例如,我在控制器中有以下方法。
/** METHOD IS POST - URL FORMAT: SERVER.COM/$number **/
private function populate(Request $request, $number){
//
$request->get('x'); // Works
}
但是当这样做时:
/* POST METHOD - URL FORMAT: server.com/$number/example/$position
private function unpopulate(Request $request, $number, $position){
$request->get('x'); // Fails
}
填充邮递员DD
Illuminate\Http\Request {#54
#json: Symfony\Component\HttpFoundation\ParameterBag {#46
#parameters: array:1 [
"x" => "2005-08-15T15:52:01+00:00"
]
}
取消填充邮递员DD
Illuminate\Http\Request {#54
#json: null
#convertedFiles: null
#userResolver: Closure($guard = null) {#34
如果我在 unpopulate 中对 $request 进行 json_decode,那么它会返回:
-_jsonRequest: {#287
+"finished_at": "2005-08-15T15:52:01+00:00"
但是当我试图访问它时,我得到一个空值。
$test = json_decode ( $request->getContent() ); // Decodes
$test->x // Fails
isset($test->x) // Fails
关于如何解决这个问题以及为什么会发生这种情况的任何想法?
【问题讨论】: