代码之家  ›  专栏  ›  技术社区  ›  xetra11

使用Spring引导为我的Web服务器创建一个客户端库,该库在Android应用程序中使用。

  •  0
  • xetra11  · 技术社区  · 6 年前

    我非常习惯使用Spring应用程序。在使用Spring引导创建Web服务器时,我想提供一个客户端库,以便方便地访问API端点。

    在这个图书馆里我用弹簧 RestTemplate 因为我习惯了它的API。 创建此库时,我遇到了以下问题:

    private final RestTemplate restTemplate;
    
    public HQConnection(RestTemplateBuilder restTemplateBuilder) {
      restTemplate = restTemplateBuilder.build();
    }
    

    当我编写测试来查看实际使用的API类时,我使用@autowire来注入这个组件——这对我来说是正常的,因为我习惯了Spring的DI。

    但后来我意识到了一些事情。那些不使用Spring框架的Android开发人员呢? 他们必须把 HQConnection 靠自己。这将是一个很大的麻烦,因为他们必须让Spring进入他们的应用程序(如果可能的话?)访问 RestTemplateBuilder .

    我在想,“我如何使这个API易于使用并隐藏弹簧细节?”我还不能编一个答案,因此在这里寻求一些指导。

    1 回复  |  直到 6 年前
        1
  •  1
  •   ooyen    6 年前

    每个环境和编程语言都有自己的框架来使用RESTAPI。例如,关于 this so post this blog post 在Android中使用RESTAPI有不同的方法。作为开发人员,您不应该提供使用特定语言或特定框架编写的自定义使用者。

    其他示例: W3C是否为浏览器开发人员提供了一个“HTTP客户端”示例?我不这么认为。

    API开发人员的职责削减是API本身。当然,它应该是用户友好的,API开发人员应该帮助开发API消费者开发人员的客户机,但您不必开发客户机。