发现客户端同学和前端的对于接口风格的偏好还是有些不一致的

2021-12-17 11:18:00 +08:00
 zoharSoul

比如 users/{user}/repos 这样的 path param, 对于 android 来说, 因为 retrofit 支持, 写起了体验很好, 所以 android 同事还是很喜欢的. 但是前端同事一般都比较抵触.

再比如只有一两个参数的 post 请求, 用 application/x-www-form-urlencoded ,客户端同事一般没啥意见. 但是前端一般会问能不能用 application/json 的.

还是挺有意思的. 哈哈

6853 次点击
所在节点    程序员
74 条回复
BigDogWang
2021-12-18 01:50:07 +08:00
作为客户端开发,一般所有的请求都要有一个对应的 request 类,不论什么数据格式全盘接受
siteshen
2021-12-18 02:11:31 +08:00
作为一个后端,我几乎都是选择 json ,不给前端和客户端任何选择的机会。
pengtdyd
2021-12-18 02:44:46 +08:00
作为一个后端,是标准的制定者,其他人没资格谈条件!
passerbytiny
2021-12-18 07:04:06 +08:00
客户端是 Java Android 分支,前段是 Javascript **分支,后端接口的通信契约是 HTTP 协议、JSON 标准等,这本来就是相互独立的不同团体,不一样才是天为,一样了是才是人为。
jobscolin
2021-12-18 09:18:36 +08:00
表示客户端从来没提过要求,后端要啥给啥。。。
comoyi
2021-12-18 09:59:24 +08:00
作为后端一直要求接口使用方 POST 使用 application/x-www-form-urlencoded ,文件 form-data ,然后不管几个字段都定义结构体接收
DDDZZZFFF
2021-12-18 15:47:14 +08:00
post,json 一把梭
rosu
2021-12-18 19:23:25 +08:00
对于客户端来说,还是 Json 方便扩展,不然后续接口加参数,传参地方都得修改。
abersheeran
2021-12-18 21:58:54 +08:00
我认识的很多菜鸟前端都分不清楚这几种提交格式的区别,所以我写的 web 框架的参数注入功能会自动判断,不管啥类型都能解析。反正实践里,前端很满意,后端也很满意。🤭
Austaras
2021-12-19 00:24:41 +08:00
@jinliming2 没有啊,前端这边只需要封装个函数就完事了,乃至可以给 input 写个 directive 让它冒上来的就是 base64
shayuvpn0001
2021-12-19 14:27:16 +08:00
@abersheeran 确实没啥区别啊,不都是字符串么
liuxue
2021-12-19 19:36:29 +08:00
个人前端, 很不喜欢 users/{user} 这样传递参数的方式。如果页面上多个接口都需要 user 这个参数,如果 user = 123456.
调试的时候就只能看到 123456.具体是哪个接口调用的查看起来不直观。
risky
2021-12-19 21:51:51 +08:00
我们这里还可以 application/excel 直接返回文件下载
后端同学都感动哭了
yaphets666
2021-12-20 09:11:00 +08:00
@jinliming2 请求肯定要统一定义的,不可能散乱的在各个组件中定义的,不然改起来好麻烦.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/822769

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX