【问题标题】:Using Spring Boot to create a client library for my webserver which is used in an Android app使用 Spring Boot 为我在 Android 应用程序中使用的网络服务器创建客户端库
【发布时间】:2020-05-14 23:25:20
【问题描述】:

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

在这个库中,我使用 Spring 的 RestTemplate,因为我习惯了它的 api。 在创建这个库时,我遇到了这个问题:

private final RestTemplate restTemplate;

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

当我编写测试以查看实际使用的 API 类时,我正在使用 @Autowire 注入这个组件 - 对我来说很正常,因为我已经习惯了 Spring 的 DI。

但后来我意识到了一些事情。那些不使用 Spring Framework 的 android 开发人员呢? 他们必须自己实例化HQConnection。这将是一个很大的麻烦,因为他们必须将 Spring 加入他们的应用程序(如果这可能的话?)才能访问RestTemplateBuilder

我在想“我怎样才能使这个 API 易于使用并隐藏 Spring 细节?”。我还不能做出答案,因此在这里寻求一些指导。

【问题讨论】:

    标签: java spring spring-boot


    【解决方案1】:

    每种环境和编程语言都有自己的框架来使用 REST API。例如。与this so postthis blog post 相关,在android 中使用REST API 有不同的方法。一般来说,作为开发人员,您不应提供使用特定语言或特定框架编写的自定义使用者。

    另一个例子: W3C 是否给浏览器开发者一个示​​例“http 客户端”?我不这么认为。

    API 开发人员的职责是 API 本身。当然它应该是用户友好的,API 开发人员应该帮助开发 api-consumer-developer 的客户端,但您不必开发客户端。

    【讨论】:

    • 哇!谢谢哥们!这正是我在这里错过的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多