使用 Spring 框架调用 REST API
Call REST API using Spring Framework
我想使用 Spring 调用 REST API & 想知道是否有类似于 Jersey 提供的类似实现,如下所示:
import javax.ws.rs.client.InvocationCallback;
public class FacebookService {
private final WebTarget target = ClientBuilder.newClient()
.target("http://graph.facebook.com/");
public Future<FacebookUser> userAsync(String user) {
return target
.path("/{user}")
.resolveTemplate("user", user)
.request()
.async()
.get(new InvocationCallback<FacebookUser>() {
@Override
public void completed(FacebookUser facebookUser) {
// on complete
}
@Override
public void failed(Throwable throwable) {
// on fail
}
});
}
}
例如,这里 Jersey 提供了完成和失败的方法,可用于查找 API 调用是失败还是成功。
我们如何用 spring 做到这一点?
谢谢!
Spring提供了AsyncRestTemplate,它提供了回调功能。这是细节。从 4.x 开始支持。
我想使用 Spring 调用 REST API & 想知道是否有类似于 Jersey 提供的类似实现,如下所示:
import javax.ws.rs.client.InvocationCallback;
public class FacebookService {
private final WebTarget target = ClientBuilder.newClient()
.target("http://graph.facebook.com/");
public Future<FacebookUser> userAsync(String user) {
return target
.path("/{user}")
.resolveTemplate("user", user)
.request()
.async()
.get(new InvocationCallback<FacebookUser>() {
@Override
public void completed(FacebookUser facebookUser) {
// on complete
}
@Override
public void failed(Throwable throwable) {
// on fail
}
});
}
}
例如,这里 Jersey 提供了完成和失败的方法,可用于查找 API 调用是失败还是成功。
我们如何用 spring 做到这一点?
谢谢!
Spring提供了AsyncRestTemplate,它提供了回调功能。这是细节。从 4.x 开始支持。