我正在开发一个Eclipse RCP 应用程序,它必须在Treeview中显示DataBase的集合。
数据库的集合由REST API提供。
所以,我要做的是通过给定URL和KEY调用REST API ,并在Treeview 中显示结果(集合)。
我对REST API的了解是它(大部分时间)在 Web 应用程序中使用,但对我来说并非如此。
有人知道如何从Eclipse RCP 应用程序调用REST API吗?有人对RCP和REST API有经验吗?
提前致谢。
伊斯梅尔
您应该能够使用您想要的任何 java rest 客户端。我个人更喜欢使用 jersey,因为有时在 Eclipse 中使用 Spring Framework 会很痛苦。
添加所有这些库对我有用:
lib/jsr311-api-1.1.1.jar,
lib/jersey-client-1.19.jar,
lib/jersey-core-1.19.jar,
lib/jersey-json-1.19.jar,
lib/jackson-core-asl-1.9.2.jar,
lib/jackson-jaxrs-1.9.2.jar,
lib/jackson-mapper-asl-1.9.2.jar,
lib/jaxb-api-2.2.2.jar,
lib/jaxb-impl-2.2.3-1.jar,
lib/jackson-xc-1.9.2.jar
一个简单的调用如下:
try {
ClientConfig clientConfig = new DefaultClientConfig();
clientConfig.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE);
Client client = Client.create(clientConfig);
WebResource webResource = client.resource("http://localhost:8080/getMyObject");
ClientResponse response = webResource.get(ClientResponse.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
MyObject output = response.getEntity(MyObject.class);
} catch (Exception e) {
//Handling errors
}
JSONConfiguration.FEATURE_POJO_MAPPING 用于使用 jersey-json 和 jackson-*.jar 自动映射到 json
为了调用 RestAPi,我使用了SpringFramework:
org.springframework.web.client.RestTemplate及其方法。