gpt4 book ai didi

java - 未从 Java 在 REST 中调用云函数

转载 作者:行者123 更新时间:2023-12-02 05:29:09 26 4
gpt4 key购买 nike

我尝试通过 REST 从 Java 调用云函数,但没有成功。这是代码:

String urlString = "https://api.parse.com/1/functions/hello";
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestProperty("X-Parse-Application-Id", "my_app_id");
conn.setRequestProperty("X-Parse-REST-API-Key", "my_rest_key");
conn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.setRequestProperty("Content-Length", String.valueOf(params.getBytes().length));
conn.setRequestMethod("GET");
InputStreamReader isr = new InputStreamReader(conn.getInputStream(), "UTF-8");
BufferedReader in = new BufferedReader(isr);

此代码适用于类查询,但当我为函数调用它时,它会返回 fileNotFound 异常:

java.io.FileNotFoundException: https://api.parse.com/1/functions/hello
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1834)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)

最佳答案

可能有点晚了,但据我所知,您正在发出 GET 请求...

conn.setRequestMethod("GET"); 

但是,REST API 明确指出应通过 POST 请求调用 Cloud Code 函数。这“可能”是您收到 404 异常(找不到文件)的原因,因为此端点不接受 GET 请求。您应该按以下方式设置您的 HttpURLConnection 对象...

conn.setRequestMethod("POST");
conn.setDoOutput(true);

如果您查看下面的 curl 示例,您会发现所有对 Cloud Functions 的请求都使用 POST 方法

https://www.parse.com/docs/cloud_code_guide#functions-calling

curl -X POST \
-H "X-Parse-Application-Id: 000000000000000000000000000000000000000" \
-H "X-Parse-REST-API-Key: 00000000000000000000000000000000000000000" \
-H "Content-Type: application/json" \
-d '{"movie":"The Matrix"}' \
https://api.parse.com/1/functions/averageStars

关于java - 未从 Java 在 REST 中调用云函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25711366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com