有人能指出我在XPage中开始使用REST服务的文章,教程或演练吗?我见过一些使用Domino数据服务或Domino REST服务的人,但我希望看到一个消费外部REST服务,如PayPal。
请不要指导我使用社交商务工具包,我已经查看了它,甚至已经下载了它,但我觉得我不应该安装J2EE和Eclipse来查看12行JavaScript的演示。
答案 0 :(得分:8)
我知道这有点事后,但仅仅是为了在XPage中使用RESTful端点,我最近在博客上写了关于在服务器端这样做的事情。我的实现使用了一个Java类,用于通过URLConnection生成输出,最后是一个StringBuffer来读取内容,然后将其解析为JsonObject以便返回。我对这个话题进行了两次跟进,你可以相应地找到它们:
我的示例使用了Google GSON库,但是as pointed out by Paul T. Calhoun,有一段com.ibm.commons.util.io.json软件包已经与Domino一起提供了一段时间,可能是Domino开发人员更好的选择(没有外部依赖关系和没有潜在的java.policy编辑)。
该方法的基本结构是:
/*
* @param String of the url
* @return JsonObject containing the data from the REST response.
* @throws IOException
* @throws MalformedURLException
* @throws ParseException
*/
public static JsonObject GetMyRestData( String myUrlStr ) throws IOException, MalformedURLException {
JsonObject myRestData = new JsonObject();
try{
URL myUrl = new URL(myUrlStr);
URLConnection urlCon = myUrl.openConnection();
urlCon.setConnectTimeout(5000);
InputStream is = urlCon.getInputStream();
InputStreamReader isR = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isR);
StringBuffer buffer = new StringBuffer();
String line = "";
while( (line = reader.readLine()) != null ){
buffer.append(line);
}
reader.close();
JsonParser parser = new JsonParser();
myRestData = (JsonObject) parser.parse(buffer.toString());
return myRestData;
}catch( MalformedURLException e ){
e.printStackTrace();
myRestData.addProperty("error", e.toString());
return myRestData;
}catch( IOException e ){
e.printStackTrace();
myRestData.addProperty("error", e.toString());
return myRestData;
}
}
答案 1 :(得分:3)
那里有很多文章等。我主要坚持使用OpenNTF提供的Xpages ExtLib演示数据库。如果你没有它:只需d / l extlib安装,demo db就是包的一部分。 谈论SBT:根据您的Domino Designer版本,您可能已经使用了工具包(例如版本9)。还有另一个可用于SBT示例的演示数据库。总而言之,我想知道你在安装J2EE / Eclipse时的意思