这可能是也可能不是最愚蠢的问题。
我正在使用Restlet。当客户端(我不控制)POST到URL时,我可以调用函数:
representation.getText();
以字符串形式生成以下示例键值对列表:
CallStatus=in-progress&CallerCountry=US&CalledZip=24013&ApiVersion=2008-08-01&CallerCity=ARLINGTON&CalledCity=ROANOKE&CallSegmentGuid=&CalledCountry=US&DialStatus=answered&CallerState=VA&CalledState=VA&CallerZip=22039
如何在Restlet中将这些数据作为键值对的映射来访问?
解答:
Form newForm = new Form(getRequest().getEntity());
答案 0 :(得分:3)
查看restlet.org引用的这些示例(表格就像地图):
Web表单实际上是发送到服务器的POST请求的实体,因此您可以通过request.getEntity()访问它。 有一个快捷方式允许列出所有输入字段:
Form form = request.getEntityAsForm();
for (Parameter parameter : form) {
System.out.print("parameter " + parameter.getName());
System.out.println("/" + parameter.getValue());
}
查询是请求资源的标识符(URI)的一部分。因此,您可以通过request.getResourceRef()。getQuery()访问它。 有一个快捷方式允许列出所有“key = value”对:
Form form = request.getResourceRef().getQueryAsForm();
for (Parameter parameter : form) {
System.out.print("parameter " + parameter.getName());
System.out.println("/" + parameter.getValue());
}