使用 Dojo 开发定制 Business Space 小部件,第 4 部分: 使用通用 REST 处理程序从 iWidget 发出可配置调用
2010-10-09 08:12:36 来源:WEB开发网一些 REST 调用可能需要查询参数,清单 7 展示了如何在 parameters 对象中设置查询参数。
清单 7. 在参数对象中设置名为 dept 的查询参数
this.queryParamsList = new dojox.collections.SortedList();
this.queryParamsList.add("dept",”HR”);
parameters.queryParameters=this.queryParamsList;
如果是 POST 请求,内容也需要在 parameters 对象中设置。对于一个员工创建调用,内容将被设置为如清单 8 所示。
清单 8. 对于 POST 请求将内容放在参数对象中
var content = {"name" : “Tom”,
"gender" : “M”,
"fullName":”Tom”,
"department":”Payroll”,
"location:”:”IBM”
};
//serialize the content into JSON
postDataContent = serialize (content);
parameters.content = postDataContent;
当参数对象实例化完成之后,您就准备好了调用 REST 服务。
第 4 步:通过 loadRESTConfig() 方法调用 REST 服务。
为了调用一个典型的 GET 调用,调用 loadRESTConfig() 方法,如清单 9 所示。
清单 9. GET 调用 REST 处理程序
this.restURL = getRestURLEndpoint();
com.ibm.bcgex.common.JSONRestHandler.getInstance().loadRESTConfig
("GET","fetchEmployeeList",this.restURL,"_loadEmpList","_onError",true,parameters,this);
为了调用一个典型的 POST 调用,调用 loadRESTConfig() 方法,如清单 10 所示。
清单 10. POST 调用 REST 处理程序
this.restURL = getRestURLEndpoint();
this._jsonRestHandler = new com.ibm.bcgex.common.JSONRestHandler
("restURI.json","EmployeeCreate");
com.ibm.bcgex.common.JSONRestHandler.getInstance().loadRESTConfig
("POST"," createEmployee",this.restURL,"_saveEmployeeDetails","_onError",
true,parameters,this);
结束语
通过本文,您学习了如何使用 JSON 文件中指定的 REST URI 发出 REST 调用。该方法的优势是不需要对代码做任何改变,即使 URI 发生变化。另外,REST 处理程序还能处理 URI 中的 URL 和查询参数。无论是 GET、POST、PUT 还是 DELETE,所有这些操作都可以使用 REST 处理程序优雅地处理。
本文示例源代码或素材下载
更多精彩
赞助商链接