后端接口逻辑,如何写才优雅

2018-09-30 12:03:43 +08:00
 Mrkon
对于后端接口最优雅的方式应该是:
1.按照单个业务区分 (如 处理一个文件, 直接用户上传到处理然后返回处理结果) 的方式

2.分为多个接口 (先上传文件, 再请求处理)的方式, 这样前端会产生多个请求

3.其他更好解决方式

能给我一点您们的经验吗?
3351 次点击
所在节点    Python
9 条回复
foxyier
2018-09-30 13:37:43 +08:00
我个人倾向低耦合,具体情况看需求
cxh116
2018-09-30 13:47:25 +08:00
我推荐方式一.

低耦合不意味着接口要拆的很细,你可以在你后端代码内部做好封装来提高代码的高重用,而不是把复杂度扔给前端.
跨接口的事务等逻辑处理起来比单个接口要复杂很多的.
zorui
2018-09-30 13:48:28 +08:00
graphql 了解一下。
PythonAnswer
2018-09-30 13:54:28 +08:00
文件巨大难以上传
可以考虑 2
pkoukk
2018-09-30 13:54:54 +08:00
具体看需求。以后可能会存在用户对以前上传的文件进行处理的需求么?如果存在当然第二个合理
Mrkon
2018-09-30 14:32:41 +08:00
@foxyier
@cxh116
@zorui
@PythonAnswer
@pkoukk
谢谢, 看来需求是最重要的. 文件是不大的. 一般的情况是逻辑相对不复杂我才会考虑放到一个接口的.
saulshao
2018-09-30 14:55:41 +08:00
所有提供给别人用的东西,都要优先考虑使用者的感受,然后才是技术实现。
写个后端接口,我觉得首先是要想别人如果要调用这个接口,应该怎么写代码。
想清楚这个,就很容易判断该怎么做了。
night98
2018-09-30 22:30:14 +08:00
1.文件上传单独一个接口,上传完成后文件信息保存到 redis 或 session 中并回传到页面
2.页面带文件信息访问对应业务接口,业务接口访问文件服务完成业务操作,返回业务数据

好处是文件接口不用每次新加一个需求就又要调一次,前端开发时上传文件只需要熟悉这一个接口并封装一下即可,后端开发对文件服务解耦和,日后更替时可随意切,很方便。

缺陷就是需要调两次接口,不过一般这个不会是瓶颈部分。
lolizeppelin
2018-10-07 14:13:29 +08:00
自己写前端一段时间就知道啦

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

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

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

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

© 2021 V2EX