gpt4 book ai didi

rest - 如果用户想要对其个人资料和个人资料图片执行操作,客户端是否应该为 API 发送两个不同的 HTTP 请求

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:21:27 24 4
gpt4 key购买 nike

目前,我正在为 Web 应用程序设计后端 RESTful API。我无法决定 API 应该只有一个端点用于配置文件(POST、UPDATE)操作,还是一个用于属性(名称、电子邮件、密码等),另一个用于配置文件图片。

我无法决定的原因是文件上传需要多部分内容类型,而整个 API 接受 json 内容类型,我认为仅对配置文件端点使用不同的内容类型可能有点反模式.

最佳答案

我认为这种情况下的最佳做法是使用 2 个 API 端点,但设计与问题中提到的 OP 不同。 2 个 API 端点包括:

  1. 接受所有图片上传的 API 端点,而不仅仅是个人资料图片。此端点将接受文件上传( Content-Type 作为 multipart/form-data ),并将上传的文件 URL 返回给浏览器。
  2. 接受所有个人资料数据的 API 端点,包括个人资料图片 URL(从上述 API 端点获得)。此端点将接受纯文本数据( Content-Type 作为 application/jsonapplication/x-www-form-urlencoded )。

通过这种设计,“反模式”问题(仅对配置文件端点使用不同的内容类型)将不存在,API 系统仍然清晰优雅。

其实 Stack Overflow 编辑个人资料的 API 设计也是遵循这个策略:上传个人资料图片(通过 gravatar),然后生成的 URL 用于个人资料数据编辑 API(Content-Typeapplication/x-www-form-urlencoded ).

关于rest - 如果用户想要对其个人资料和个人资料图片执行操作,客户端是否应该为 API 发送两个不同的 HTTP 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56924389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com