我非常习惯使用 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/