使用 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 开始支持。

http://docs.spring.io/autorepo/docs/spring/4.1.1.RELEASE/javadoc-api/org/springframework/web/client/AsyncRestTemplate.html