调用别人写好的 api 有什么最佳实践吗?

2020-04-05 11:40:13 +08:00
 noble4cc

不限语言,有什么比较通用的准则

3364 次点击
所在节点    Java
12 条回复
FanError
2020-04-05 11:42:09 +08:00
0.0 http 请求 utf8 编码 json 返回算不算 0.0
cominghome
2020-04-05 12:02:06 +08:00
你又不是服务提供方你能整出啥最佳实践啊,没有话语权啊兄 dei
forgottencoast
2020-04-05 12:05:08 +08:00
几乎所有的程序员写代码都是调用别人写好的 api 。
一般被调用的框架都会写一些示例代码,做的好的还会有“最佳实践”这样的指导文档呢,其目的是指导其他人怎么样写的看起来跟他们几乎一样。
inwar
2020-04-05 12:13:32 +08:00
按照自己业务逻辑抽象包一层再到业务层
useben
2020-04-05 12:24:02 +08:00
别问,问就是最佳做法是在自己 service 层包装一下再用
hantsy
2020-04-05 12:30:48 +08:00
先包装一层比较 XXXAPIClient,所有的异常状态最好用 Exception 重新封装,这样再写自己的逻辑调用这个 API,完全不用关心它是本地还是远程的,做到完全隔离。
airyland
2020-04-05 13:03:04 +08:00
1.注意逻辑,不要写死循环。
2.注意异常,默认第三方都是不可靠的。
niubee1
2020-04-05 14:39:17 +08:00
做好容错,要考虑
1. 业务错误
2. 网络错误
网络错误主要是考虑超时,大量的 timeout 会波及到现有业务。所以需要针对接口有熔断设计,当外部 API 挂掉的时候,要么有备份(额外的替代接口),或者要有服务降级(用 dummy system 直接返回接口无法访问)
arloor
2020-04-05 23:40:03 +08:00
降级( default 实现)
和 try catch Exception
xuanwu
2020-04-06 10:50:14 +08:00
原本英文命名比较冗长或者难记时,封装成中文的再用
大疆的 python api 中文化演示: https://zhuanlan.zhihu.com/p/90607858
草蟒正在做更多的常用模块汉化
yjxjn
2020-04-10 11:07:20 +08:00
写 IO 操作呗。。。。也是别人写好的 API
lihuayang
2020-10-19 11:32:48 +08:00
刚写了一篇文章关于这个的,有需要的话可以看下: https://juejin.im/post/6884945023905988622

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

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

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

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

© 2021 V2EX