休息 API Parse.com Java
REST API Parse.com Java
我正在经历 REST API GUIDE given by http://www.parse.com
文档中提到了通过 CURL 和 Python API 调用创建对象并将其存储在解析中。
使用 POST 请求创建对象的 CURL 请求如下所示:
curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
https://api.parse.com/1/classes/GameScore
我想知道如何使用 Java 发送这样的请求。
有许多 Parse.com 个第三方 API 库:
来自https://parse.com/docs/api_libraries
JAVA
- Almonds — A Java REST API that mimics the Android API.
- mobile-parse-api — This library implements the REST API of
parse.com in java with open interfaces for libgdx and playN.
- Parse4J — Library for the REST API.
- ParseFacade — Parse Android SDK
alternative.
您可能希望在制作您自己的 parse.com
界面之前评估它们
不过 Parse.com Almonds 库中存在一个问题。存储日期或其他类似的复杂对象结构存在问题。
我遇到了同样的问题并修复了 Almonds 库代码以解决该问题。现在我可以像保存任何其他数据类型一样保存日期。
将 ParseObject.java(在 Almonds 库中)中的 toJSONObject() 方法替换为以下代码:
// Define the following class level static variables
private static final String DATE_CLASS = "java.util.Date";
private static final String DATA_TYPE = "__type";
private static final String DATA_ISO = "iso";
private JSONObject toJSONObject() {
JSONObject jo = new JSONObject();
// TODO - Girish Sharma: Extend this code to save other complex data types
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Object obj = null;
try {
for (String key : mData.keySet()) {
obj = get(key);
String className = obj.getClass().getName();
// Switch over the data types
if (className == DATE_CLASS) {
JSONObject dateObj = new JSONObject();
dateObj.put(DATA_TYPE, "Date");
dateObj.put(DATA_ISO, formatter.format(obj));
jo.put(key, dateObj);
}
else {
jo.put(key, obj);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jo;
}
我正在经历 REST API GUIDE given by http://www.parse.com
文档中提到了通过 CURL 和 Python API 调用创建对象并将其存储在解析中。
使用 POST 请求创建对象的 CURL 请求如下所示:
curl -X POST \
-H "X-Parse-Application-Id: ${APPLICATION_ID}" \
-H "X-Parse-REST-API-Key: ${REST_API_KEY}" \
-H "Content-Type: application/json" \
-d '{"score":1337,"playerName":"Sean Plott","cheatMode":false}' \
https://api.parse.com/1/classes/GameScore
我想知道如何使用 Java 发送这样的请求。
有许多 Parse.com 个第三方 API 库:
来自https://parse.com/docs/api_libraries
JAVA
- Almonds — A Java REST API that mimics the Android API.
- mobile-parse-api — This library implements the REST API of parse.com in java with open interfaces for libgdx and playN.
- Parse4J — Library for the REST API.
- ParseFacade — Parse Android SDK alternative.
您可能希望在制作您自己的 parse.com
界面之前评估它们不过 Parse.com Almonds 库中存在一个问题。存储日期或其他类似的复杂对象结构存在问题。
我遇到了同样的问题并修复了 Almonds 库代码以解决该问题。现在我可以像保存任何其他数据类型一样保存日期。
将 ParseObject.java(在 Almonds 库中)中的 toJSONObject() 方法替换为以下代码:
// Define the following class level static variables
private static final String DATE_CLASS = "java.util.Date";
private static final String DATA_TYPE = "__type";
private static final String DATA_ISO = "iso";
private JSONObject toJSONObject() {
JSONObject jo = new JSONObject();
// TODO - Girish Sharma: Extend this code to save other complex data types
DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
Object obj = null;
try {
for (String key : mData.keySet()) {
obj = get(key);
String className = obj.getClass().getName();
// Switch over the data types
if (className == DATE_CLASS) {
JSONObject dateObj = new JSONObject();
dateObj.put(DATA_TYPE, "Date");
dateObj.put(DATA_ISO, formatter.format(obj));
jo.put(key, dateObj);
}
else {
jo.put(key, obj);
}
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return jo;
}