5.2. 编辑个人资料

编辑个人资料

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

数据的提交方式

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 网站上。

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

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
贡献者:2
讨论数量: 41

wangjiu
'exists:images,id,type,avatar,user_id,'.$userId 的参数含义?
3 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
悲剧不上演
感觉编辑用户的信息不应该在 UsersController 中?
2 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
huzhuolei
用户更换新头像以后是否要删除老头像图片?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
kenuo
dingo-API patch 请求获取不到提交参数?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
nieguodong
ImageUploadHandler 这个类在哪里定义的?
1 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
JimChen
save () 和 update () 为什么不需要判断操作成功与否?
1 个点赞 | 3 个回复 | 问答 | 课程版本 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
StepKim
Auth::guard ('API')->id () 获取不到用户的 id?
0 个点赞 | 14 个回复 | 问答 | 课程版本 5.5
putixin
不理解这个函数的应用?
0 个点赞 | 8 个回复 | 问答 | 课程版本 5.5
18874127314
枚举字段加索引没多大作用吧
0 个点赞 | 7 个回复 | 问答 | 课程版本 5.7
seeker
编辑个人信息接口报错?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
iVerywang
Method fromUser does not exist
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
vasar
App 实际开发中,怎么发起 patch 请求?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
pandance
图片上传??诶?
0 个点赞 | 4 个回复 | 问答 | 课程版本 5.5
xuecong
aaromcoding
关于 http 的提交方式的疑惑
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.7
AllenBool
在操作 编辑个人资料 出现 401 报错?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
TomJerry
zh117
请问 attributes () 内容的含义是什么?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Jeepin
这个报错算提示要不要修改?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
Winter
图片接口出错了 ,求指点?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
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
Stone007
不传 Token 的报错信息不一样?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5