• 请不要在回答技术问题时复制粘贴 AI 生成的内容
asanelder
V2EX  ›  程序员

如何封装 HTTP 接口, 供 Java 程序方面的使用?

  •  
  •   asanelder · Jun 17, 2021 · 4630 views
    This topic created in 1969 days ago, the information mentioned may be changed or developed.
    现在俺有一个第三方服务, 提供的是 HTTP 接口. 俺自己的服务是 Java 写的.
    如果直接使用 HTTP 相关库来调用吧, 好像好啰嗦, 好麻烦. 要是调用 HTTP 接口, 就是调用原生接口那样就好了.
    俺想封装一下, 有什么什么好的工具呢?

    俺听说过 feign, 这玩意能做这事不?
    17 replies  •  2021-06-18 23:22:39 +08:00
    Veneris
    Veneris
    Jun 17, 2021
    1
    retrofit,一个 Android 上的 http 请求框架,不过我拿到后端服务用了
    itechify
    itechify
    Jun 17, 2021
    2
    最终也是调 http 的库
    WayneCmd
    WayneCmd
    Jun 17, 2021
    3
    Hutool

    HttpUtil.get(url); / HttpUtil.post(url, paramMap);
    Dockerfile
    Dockerfile
    Jun 17, 2021
    4
    。。这太多了

    github.com/hsiafan/requests
    我喜欢这个
    micean
    micean
    Jun 17, 2021
    5
    自己写个动态代理也就分分钟的事。。。。
    codehelen
    codehelen
    Jun 17, 2021
    6
    hutool
    stardust21
    stardust21
    Jun 17, 2021
    7
    @Veneris 这个确实很方便
    MakeItGreat
    MakeItGreat
    Jun 17, 2021 via Android
    8
    你真的像编程随想………………
    真的像……
    clickhouse
    clickhouse
    Jun 17, 2021
    9
    feign 可以,底层也支持多种 http client
    crclz
    crclz
    Jun 18, 2021
    10
    自己封装一个类。这其实是关注点分离 + 分层。

    jdbc 或者 jpa 是怎么封装的、怎么处理的网络连接异常、怎么处理的对方返回的错误代码,你就怎样封装,最后可以得到和 jdbc 、jpa 一样简洁的编程体验。
    BBCCBB
    BBCCBB
    Jun 18, 2021
    11
    feign 和 retrofit2 差不多, 使用上比 retrofit2 还方便.. 不用返回 Call 对象.

    吸收了 retrofit2 的优点, 改进了缺点, 比如 retrofit2 只支持 okhttp..


    用 feign 就好了. 简单好用
    dayeye2006199
    dayeye2006199
    Jun 18, 2021
    12
    要是调用 HTTP 接口, 就是调用原生接口那样就好了

    你说的可能是 RPC
    yitingbai
    yitingbai
    Jun 18, 2021❤️1
    13
    @MakeItGreat 编程随想不会问这么简单的问题
    asanelder
    asanelder
    OP
    Jun 18, 2021
    14
    @Veneris #1
    @shenlanAZ #3
    @Jwyt #4
    @micean #5
    @codehelen #6
    @clickhouse #9
    @crclz #10
    @BBCCBB #11

    感谢几个老铁提供的思路, 俺试试


    @yitingbai #13 哈哈, 铁子给出了让人无法质疑的理由
    daiqiangbudainiu
    daiqiangbudainiu
    Jun 18, 2021
    15
    rpc 了解一下?
    leonard916
    leonard916
    Jun 18, 2021
    16
    我封装了一个原生的 HTTP 工具(还有别的 见: https://srl.cx/scomu )用起来就还好 如果你觉得麻烦就再套一层(框架不能提供太复杂的组合,会超啰嗦)。
    Yiso1573
    Yiso1573
    Jun 18, 2021
    17
    伙计我上家公司就是做接口对接的,简单的你就直接找个 http 调用的工具类就行了比如前面提的 hutool 的工具类(它有很多好用的工具类,比如时间、缓存、反射),你也可以自己写。其实主要还是需要你根据接口去做封装和设计,我一般把接口调用的和实际业务的是拆分开的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1556 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 07:56 · PVG 15:56 · LAX 23:56 · JFK 02:56
    ♥ Do have faith in what you're doing.