POST请求中url和body参数的key相同

今天测试的时候,发现有个post请求很奇怪,它的url中的参数名和body请求体的参数名相同,那么后台获取到的该参数的值会是url中的还是body请求体中的呢?亦或是二者都获取?

首先我的路由写法是:

Route::post('goodbye/:id','application/Test/goodbye'); 

然后我的测试文件为获取post请求的所有参数值(包括url与body)

param();
        var_dump($all);
        
    }
}

那么接下来用postman测试一下:

POST请求中url和body参数的key相同_第1张图片

从上图可以发现,url携带的id参数值为123,而body请求体中携带的id参数值为hhh,当经过路由(Route::post('goodbye/:id','application/Test/goodbye'); )之后,获取的则是url的id参数值,body请求体的id参数值无法获取。

如果我们只需要获取body的内容,可以修改Request实例代码:

$all = Request::instance()->post();
var_dump($all);

POST请求中url和body参数的key相同_第2张图片

当然也可以选择获取body请求体中指定的参数值:

$all = Request::instance()->post('id');
var_dump($all);

POST请求中url和body参数的key相同_第3张图片

你可能感兴趣的:(HTTP请求,POST方法,tp5)