【问题标题】:REST API Parse.com JavaREST API Parse.com Java
【发布时间】:2015-08-10 22:44:57
【问题描述】:

我正在通过http://www.parse.com给出的REST API GUIDE

那里的文档说创建对象并通过 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 发送这样的请求。

【问题讨论】:

  • 谷歌:如何在 java 中发送 HTTP POST....
  • @JunedAhsan 使用 HttpClient 吗?

标签: java rest curl parse-platform parse4j


【解决方案1】:

Parse.com 有许多第三方 API 库:

来自https://parse.com/docs/api_libraries

JAVA

  • Almonds — 模仿 Android API 的 Java REST API。
  • mobile-parse-api — 这个库实现了 REST API java 中的 parse.com,具有用于 libgdx 和 playN 的开放接口。
  • Parse4J — REST API 库。
  • ParseFacade — 解析 Android SDK 替代方案。

您可能希望在为 parse.com 创建自己的界面之前评估它们

【讨论】:

  • 你是对的。但我对选择哪一个有点困惑。但我从 Parse4j 开始。我只是想知道我们可以使用这些库构建 API 吗?
【解决方案2】:

Parse.com Almonds 库中存在一个问题。存储日期或其他类似的复杂对象结构存在问题。

我遇到了同样的问题并修复了 Almonds 库代码以解决该问题。现在我可以像保存任何其他数据类型一样保存 Date。

将 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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多