java - 使用 Spring Boot 为我的 Web 服务器创建客户端库,该库在 Android 应用程序中使用

标签 java spring spring-boot

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

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

private final RestTemplate restTemplate;

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

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

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

我在想“如何让这个 API 易于使用并隐藏 Spring 细节?”。我还无法给出答案,因此在此寻求一些指导。

最佳答案

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

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

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

关于java - 使用 Spring Boot 为我的 Web 服务器创建客户端库,该库在 Android 应用程序中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400028/

相关文章:

java - 为什么我的自定义 DataSource getConnection() 抛出 "SQLException: The url cannot be null"?

java - 无法从 https :maven-surefire-plugin:pom:2. maven.apache.org/maven2 传输 org.apache.maven.plugins ://repo. 22.2

java - 找出IP地址?

java - Logback 滚动日志记录不起作用

java - <error-page> 设置在 Spring MVC 中不起作用

spring-boot - Spring Boot锁定代码获取唯一id

java - 如何更改 ActionBar Tab 底部边框和选定的选项卡背景?

java - 类类型作为Java中的参数

c# - Java 等价于带有 @ 的 C# 逐字字符串

java - Log4j2 在控制台上打印工作找到,但没有创建日志文件