java - 为 REST API 构建 Java SDK 的最佳实践

标签 java rest sdk

我将针对 REST API 开发 Java SDK,想知道构建它的最佳实践方法是什么。我查看了 Google,也使用了一些连接到 REST API 的 SDK,但一致性一直不高。我遇到了一些我觉得很有趣的模式,想知道哪一个可以被认为是最佳实践(如果有的话),或者是否有替代方案?

我提供了示例/伪代码以方便使用。

1) models/requests/client 都是分开的。调用示例:

Client client = new Client( ... credentials ... );

try {
    Something obj = client.post( new PostSomethingRequest( ..params... ) );
} catch( Exception oops ) { ...handle... }

try {
    Something obj2 = client.get( new GetSomethingRequest( id ) );
} catch( Exception oops ) { ...handle... }

2) 模型和请求绑定(bind)在一起,客户端是分开的。调用示例:

Client client = new Client( ... credentials ... );

try {
    Something obj = client.post( new Something( ..params... ) );
} catch( Exception oops ) { ...handle... }

try {
    Something obj2 = client.get( new Something( id ) );
} catch( Exception oops ) { ...handle... }

3) 模型包含一切。调用示例:

Client.setCredentials( ... credentials ... );

Something obj = new Something( ..params... );
try {
    obj.post();
} catch( Exception oops ) { ...handle... }

try {
    Something obj2 = Something.get( id );
} catch( Exception oops ) { ...handle... }

如果有更好的构建方法,我也很乐意听到它们。

最佳答案

如果您为特殊的 REST API 构建 SDK,我会使用代表 REST 服务调用的方法名称,不会太通用。

关于java - 为 REST API 构建 Java SDK 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066992/

相关文章:

java - iterator.remove() 从数据库中删除对象

java - Spring Boot - @ConditionalOnExpression 用于 @RestController

java - GreenDroid PagedView - 多页(不同布局)帮助.. Android SDK

java - I18N 属性上的 org.springframework.context.NoSuchMessageException

java - BindingBeans 中的复合值未更新

java - 在 rest Controller 中的单个端点上组合文件上传和请求正文

windows - 安装 windows SDK 7.1 时出错

android - 运行适用于 Android 的新英特尔仿真器

java - 枚举中的 valueOf() 方法在 Java 7 中不起作用

php - 如何在http get请求中发送数组