5.2. 编辑个人资料

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

编辑个人资料

在本章节中,我们将开发用户的编辑接口,允许用户对自己的用户名、邮箱、简介和头像进行修改。

数据的提交方式

HTTP 提交数据有两种方式

  • application/x-www-form-urlencoded(默认值)
  • multipart/form-data

大家应该记得,form 表单提交文件的时候,需要增加 enctype="multipart/form-data",才能正确传输文件,因为默认的enctypeenctype="application/x-www-form-urlencoded"

需要明确的是,只有当 POST 配合 multipart/form-data 时才能正确传输文件。

图片资源

我们设计 API 时,修改相关的 API 通常会使用 putpatch,但是因为要修改用户头像,又必须使用 POST 的 multipart/form-data,难道所有涉及到文件的接口我们都必须设计为 POST 吗?
其实一般有关文件上传的接口,我们一般会设计为两个,例如 Larabbs 的业务,我们可以设计一个图片资源——images,修改头像的逻辑为

  • 调用 POST api/images 在服务器创建图片资源
  • 通过图片资...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 54

wangjiu
'exists:images,id,type,avatar,user_id,'.$userId 的参数含义?
7 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
JeffreyBool
dingo-API patch 请求获取不到提交参数?
2 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
JimChen
save () 和 update () 为什么不需要判断操作成功与否?
2 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
悲剧不上演
感觉编辑用户的信息不应该在 UsersController 中?
2 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
huzhuolei
用户更换新头像以后是否要删除老头像图片?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
nieguodong
ImageUploadHandler 这个类在哪里定义的?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
Narcissus
修改个人资料时为什么不用 PUT 而用 PACTH?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
vasar
好奇怪,返回 http_code 201, postman 显示 200?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
唯守
UsersController use Image 模型多了一个 use?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
dwtmtdh
[已解决] 编辑接口请求的用户表是 user,不是 users。
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.7
Daazher
本课的图片冗余问题
1 个点赞 | 1 个回复 | 问答 | 课程版本 5.8
StepKim
Auth::guard ('API')->id () 获取不到用户的 id?
0 个点赞 | 15 个回复 | 问答 | 课程版本 5.5
18874127314
枚举字段加索引没多大作用吧
0 个点赞 | 8 个回复 | 问答 | 课程版本 5.7
putixin
不理解这个函数的应用?
0 个点赞 | 8 个回复 | 问答 | 课程版本 5.5
seeker
编辑个人信息接口报错?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
phpervip
接口返回图片地址如何可以不带转义符呢?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.8
王鲸弋
Method fromUser does not exist
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
vasar
App 实际开发中,怎么发起 patch 请求?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
pandance
图片上传??诶?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xuecong
laraverer
dingo/API transformer 的使用方法
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.8
aaroncoding
关于 http 的提交方式的疑惑
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.7
AllenBool
在操作 编辑个人资料 出现 401 报错?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
TomJerry
zh117
请问 attributes () 内容的含义是什么?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Jeepin
这个报错算提示要不要修改?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Winter1
图片接口出错了 ,求指点?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
nbadota2
请教一个图片接口报错的问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.7
jackzheng9969
为什么提示 avatar_image_id 不存在呢?
0 个点赞 | 2 个回复 | 分享 | 课程版本 5.8
phpervip
添加图片接口 http://{{host}}/API/images 如何填写 image (已解决)
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.8
heitao
ImageUploadHandler 生成图片路径多了一个路径分隔符
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
Flourishing
老师,看看这个我理解对不?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
犰狳
修改用户资料 "message": "422 Unprocessable Entity",?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
tim-laravel
获取用户信息没问题,图片接口测试报错?
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
varro
请求数据校验失败时,返回了 500 错误..?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
QYlaravel
不使用 Dingo 的情况下如何更新当前登陆用户?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
ayauper
?创建图片资源报错.
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
MIYA28118
不传 Token 的报错信息不一样?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
柠檬土豆
上传后的头像在网页上无法显示
0 个点赞 | 0 个回复 | 分享 | 课程版本 6.x
dwtmtdh
$this->user () 是怎么获取到数据的?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.7
phpervip
http://{{host}}/API/user 更新用户信息时报 image 找不到 (已解决)
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8