gpt4 book ai didi

android - 如何从 Post 请求到 Android 上的 Rest API 获得响应

转载 作者:行者123 更新时间:2023-11-30 05:06:08 27 4
gpt4 key购买 nike

我从 Android 向 Rest API 端点发送了一个发布请求,但我没有收到来自服务器的响应。我需要得到这样的回应:

[{"field":"login","message":"Login \"loooogin\" has already been taken."}]

我想也许我可以阅读 STATUS 或 MSG 中的响应:

Log.i("STATUS", String.valueOf(conn.getResponseCode()));
Log.i("MSG" , conn.getResponseMessage());

但我的尝试没有产生结果。 Android中的代码:

public void createAccount(final String login, final String carNumber) {
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
URL url = new URL("url");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept","application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
JSONObject jsonParam = new JSONObject();
jsonParam.put("login", login);
jsonParam.put("carNumber", carNumber);
Log.i("JSON", jsonParam.toString());
DataOutputStream os = new DataOutputStream(conn.getOutputStream());
os.writeBytes(jsonParam.toString());
os.flush();
os.close();
Log.i("STATUS", String.valueOf(conn.getResponseCode()));
Log.i("MSG" , conn.getResponseMessage());
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
}

最佳答案

如果你确实连接了Gson,你可能会写这样的东西,如果没有,用JSONArray替换JsonArray并执行get( ) 通过吸收 JSONArray 调用。

JsonArray array = new JsonArray(jsonParam.toString());
array.forEach(item -> {
Log.i("JSON", item.get("login").asString())
}
);

关于android - 如何从 Post 请求到 Android 上的 Rest API 获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54562466/

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