Laravel 获取正文请求并避免查询字符串参数
Posted
技术标签:
【中文标题】Laravel 获取正文请求并避免查询字符串参数【英文标题】:Laravel Get Body request and avoid Query string params 【发布时间】:2020-11-11 11:15:26 【问题描述】:如何在POST方法中获取没有查询字符串参数的body请求参数。
当我使用$request->all()
时,它总是返回所有参数,包括查询字符串。
我有我自己的原因,这就是我没有使用$request->only([])
或$request->except([])
的原因。 (因为我想创建一个全局函数)
我只想获取正文请求参数...该怎么做?
【问题讨论】:
你试过$request->post()
吗?
它正在工作,兄弟。你能把这个答案放在下面吗?所以我可以投票。感谢您的帮助:)
【参考方案1】:
您可以这样做以获取没有查询字符串的正文请求参数:
$request->except(array_values(array_flip($request->query())));
您可以简单地使用请求对象上的post()
方法完成此操作:
$request->post();
【讨论】:
【参考方案2】:与通过$request->query()
访问查询字符串的方式类似,也可以通过$request->post()
访问请求负载。这些方法正在访问$request->query
和$request->request
参数包。
query()
和 post()
两种方法都有方法签名,允许您传递要检索的密钥和默认值:$key = null, $default = null
【讨论】:
以上是关于Laravel 获取正文请求并避免查询字符串参数的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 5.2 PHPUnit JSON Api 请求正文未设置
如何访问我在 Laravel 4 中手动发送的请求的查询字符串参数?
REST API 最佳实践:查询字符串中的参数与请求正文中的参数