szxczyc
V2EX  ›  问与答

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

  •  
  •   szxczyc · Nov 16, 2021 · 1525 views
    This topic created in 1639 days ago, the information mentioned may be changed or developed.

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


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

    7 replies    2021-11-16 10:18:39 +08:00
    Kinnice
        1
    Kinnice  
       Nov 16, 2021 via Android
    一个变量的使用?
    tribute
        2
    tribute  
       Nov 16, 2021
    memory cache ?
    sxfscool
        3
    sxfscool  
       Nov 16, 2021
    应该是无状态的吧,一般是在接口 1 存到 map 或者 redis 里,返回 key,接口 2 传入 key
    JKeita
        4
    JKeita  
       Nov 16, 2021
    记得路由配置可以配置多个方法吧,g.GET("...", 接口 1 ,接口 2 )这样?
    dcalsky
        5
    dcalsky  
       Nov 16, 2021
    跟 gin 无关,通常的做法是把相同的业务逻辑抽成一个 function 。
    cxe2v
        6
    cxe2v  
       Nov 16, 2021
    接口 2 抽象成 function ,在接口 1 返回前调用不就行了?
    EscYezi
        7
    EscYezi  
       Nov 16, 2021 via iPhone
    这个值拿到之后不应该由 gin 保持,而是应该放在调用方那里,不然并发查询接口 2 的结果很可能与预期不符
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5793 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 66ms · UTC 06:34 · PVG 14:34 · LAX 23:34 · JFK 02:34
    ♥ Do have faith in what you're doing.