V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
szxczyc
V2EX  ›  问与答

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

  •  
  •   szxczyc · 2021-11-16 06:27:42 +08:00 · 1158 次点击
    这是一个创建于 1111 天前的主题,其中的信息可能已经有所发展或是发生改变。

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


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

    7 条回复    2021-11-16 10:18:39 +08:00
    Kinnice
        1
    Kinnice  
       2021-11-16 07:45:47 +08:00 via Android
    一个变量的使用?
    bankroft
        2
    bankroft  
       2021-11-16 08:35:34 +08:00
    memory cache ?
    sxfscool
        3
    sxfscool  
       2021-11-16 08:46:40 +08:00
    应该是无状态的吧,一般是在接口 1 存到 map 或者 redis 里,返回 key,接口 2 传入 key
    JKeita
        4
    JKeita  
       2021-11-16 09:06:07 +08:00
    记得路由配置可以配置多个方法吧,g.GET("...", 接口 1 ,接口 2 )这样?
    dcalsky
        5
    dcalsky  
       2021-11-16 09:54:16 +08:00
    跟 gin 无关,通常的做法是把相同的业务逻辑抽成一个 function 。
    cxe2v
        6
    cxe2v  
       2021-11-16 09:59:57 +08:00
    接口 2 抽象成 function ,在接口 1 返回前调用不就行了?
    EscYezi
        7
    EscYezi  
       2021-11-16 10:18:39 +08:00 via iPhone
    这个值拿到之后不应该由 gin 保持,而是应该放在调用方那里,不然并发查询接口 2 的结果很可能与预期不符
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1115 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 23:45 · PVG 07:45 · LAX 15:45 · JFK 18:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.