在 gin 中怎么复用前一个接口的数据呢?

2021-11-16 06:27:42 +08:00
 szxczyc

接口 1:调用第三方 api 查询到结果并且已经 Marshall 了,输出为一个 json 。
接口 2:现在我想暴露另一个接口,通过前面接口输出的 json 中的某个值再去查其他的第三方 api ,该怎么复用呢?


我的思路是先保存到 db 里吧,然后再从 db 里读取?但是感觉这个方法也不太好。

1154 次点击
所在节点    问与答
7 条回复
Kinnice
2021-11-16 07:45:47 +08:00
一个变量的使用?
bankroft
2021-11-16 08:35:34 +08:00
memory cache ?
sxfscool
2021-11-16 08:46:40 +08:00
应该是无状态的吧,一般是在接口 1 存到 map 或者 redis 里,返回 key,接口 2 传入 key
JKeita
2021-11-16 09:06:07 +08:00
记得路由配置可以配置多个方法吧,g.GET("...", 接口 1 ,接口 2 )这样?
dcalsky
2021-11-16 09:54:16 +08:00
跟 gin 无关,通常的做法是把相同的业务逻辑抽成一个 function 。
cxe2v
2021-11-16 09:59:57 +08:00
接口 2 抽象成 function ,在接口 1 返回前调用不就行了?
EscYezi
2021-11-16 10:18:39 +08:00
这个值拿到之后不应该由 gin 保持,而是应该放在调用方那里,不然并发查询接口 2 的结果很可能与预期不符

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

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

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

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

© 2021 V2EX