Java 从RESTlet中的POST正文获取键值对
这可能是也可能不是有史以来最愚蠢的问题 我正在使用Restlet。当客户端(我不控制)发布到URL时,我可以调用以下函数:Java 从RESTlet中的POST正文获取键值对,java,restlet,Java,Restlet,这可能是也可能不是有史以来最愚蠢的问题 我正在使用Restlet。当客户端(我不控制)发布到URL时,我可以调用以下函数: representation.getText() 它生成以下字符串形式的键值对示例列表: CallStatus=in-progress&CallerCountry=US&CalledZip=24013&ApiVersion=2008-08-01&CallerCity=ARLINGTON&CalledCity=ROANOKE&C
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());
查看以下引用的示例(表单就像地图):
从web表单获取值
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()访问它。
有一个快捷方式,可以列出所有“键=值”对:
查看以下引用的示例(表单就像地图):
从web表单获取值
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()访问它。
有一个快捷方式,可以列出所有“键=值”对:
太棒了,“getEntityAsForm()”就是我要找的。文档中说它已经贬值,将在2.1版中删除,我认为现在“接受”的方式是:新表单(getRequest().getEntity())啊,好主意!我必须再次查看我们的代码,确保我们使用的是更新的表单。祝你好运getEntityAsForm现在已不受欢迎,我一直在寻找“getEntityAsForm()”。文档中说它已经贬值,将在2.1版中删除,我认为现在“接受”的方式是:新表单(getRequest().getEntity())啊,好主意!我必须再次查看我们的代码,确保我们使用的是更新的表单。祝你好运getEntityAsForm现在已不推荐使用