我需要用 Java 对我的数据存储进行一些查询,但我似乎无法正确获取参数语法。我尝试过这样的:
String params = "?Active=1";
String urlString = "https://api.parse.com/1/classes/Cars" + params;
或者根据文档here :
String params = "where={Active:1}";
但这两种方式都会产生异常。
如果我不执行查询,只是尝试获取具有此请求字符串的所有对象:
String urlString = "https://api.parse.com/1/classes/Cars"
一切正常。所以问题肯定是参数序列。那么有没有办法在 Java 中进行 Prase.com
剩余查询呢?
编辑:添加异常字符串以响应第一条评论的请求:
java.io.IOException: Server returned HTTP response code: 400 for URL: https://api.parse.com/1/classes/Cars?where={Active:1}
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1838)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)
我还应该注意,当我使用常规 http
语法时,如
params = "?Dealer=asdf";
查询返回所有对象,就好像参数不存在一样。
最佳答案
以下是参数字符串的几个工作示例:
String params = "where={\"objectId\":\"ldl49l3kd98\"}";
String params = "where={\"CompanyName\":\"BMW\", \"Price\":{\"$gte\":29000,\"$lte\":49000}}";
如果您像我一样需要非英文字符,请像这样对参数字符串进行编码:
params = URLEncoder.encode(params, "UTF-8");
关于parse-platform - Java 中的 Rest 查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25701526/