请问 App/Http/Requests/API/UserRequest.php patch 读取 URL 传入的 params 参数?

file

教程中的$userId是读取的当前登录用户的ID
如何才能修改成读取到patch方法中 api/users/:id id的值 ,

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
liyu001989
最佳答案

进行了路由模型绑定了,$this->user 获取的就是你的id 对应的用户

5年前 评论
讨论数量: 14

你问的是在Request中获取路由参数吗?

5年前 评论
liyu001989

进行了路由模型绑定了,$this->user 获取的就是你的id 对应的用户

5年前 评论

如果是要在Request中获取路由参数可以使用以下任意一种。

$this->route('user') 
$this->user

因为是在Request中获取,所以$this在这里指代的是$request请求参数

5年前 评论

@liyu001989 在表单验证中已经进行模型绑定了吗?

5年前 评论
liyu001989

@韩槑槑 路由模型绑定是中间件,先执行,已经绑定了,你可以试试

5年前 评论
liyu001989

@韩槑槑
file

注意你的路由 /users/{user}

5年前 评论

@liyu001989
对,我知道我的路由是id为参数,但是我看到你之前说的是
file
我这里理解的对应用户,就是获取的用户实例。所以我设置了参数为id进行比对

5年前 评论
liyu001989

我的意思是 路由里面写 users/{user} ,postman 请求的url是 users/100,$this->user 获取是 id 100 的用户模型实例。

5年前 评论

@liyu001989
我把参数改成user了,但是:joy:仍然获取的是ID

5年前 评论
liyu001989

file

file

file

file

还有 @wang1001love 为什么要这么实现 /api/user/{user}。修改某个用户也应该是 /api/users/{user} 啊,修改当前用户已经有token了,为什么还要传id

5年前 评论

@liyu001989
明白了 :satisfied: ,感谢解答

5年前 评论

@liyu001989
谢谢您的解答~~:+1: :+1: :+1: :+1:

一个简单的后台功能,站长可以修改其他后台管理用户的信息,

访问url是{{host}}/api/users/:id

我的路由是$api->patch('users/{user}', 'UsersController@edit')

我遇到问题的是UserRequest patch方法中 唯一性所需的$userId 不能一直是登录站长的userId
需要变成要修改数据的userId

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!