如何在Android上从Post请求获取对Rest API的响应
我从Android向RESTAPI端点发送了post请求,但没有收到服务器的响应。 我需要得到这样的回应: [{“字段”:“登录”,“消息”:“登录\“loooogin\”已被删除 已拍摄。“}] 我想也许我可以在STATUS或MSG中读取响应: 但我的尝试并没有产生结果。Android中的代码:如何在Android上从Post请求获取对Rest API的响应,android,rest,post,request,Android,Rest,Post,Request,我从Android向RESTAPI端点发送了post请求,但没有收到服务器的响应。 我需要得到这样的回应: [{“字段”:“登录”,“消息”:“登录\“loooogin\”已被删除 已拍摄。“}] 我想也许我可以在STATUS或MSG中读取响应: 但我的尝试并没有产生结果。Android中的代码: public void createAccount(final String login, final String carNumber) { Thread thread = new
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
,并通过imbibedJsonArray
执行get()
调用
JsonArray array = new JsonArray(jsonParam.toString());
array.forEach(item -> {
Log.i("JSON", item.get("login").asString())
}
);
如果确实连接了
Gson
,则可以编写类似的代码,如果未连接,则将JsonArray
替换为JsonArray
,并通过imbibedJsonArray
执行get()
调用
JsonArray array = new JsonArray(jsonParam.toString());
array.forEach(item -> {
Log.i("JSON", item.get("login").asString())
}
);
您好@k_bm,作为一个建议,我认为值得一看
改型库,因为它通常是当今大多数人在Android上进行网络请求的工具。@FrancislainyCampos您是对的!但并不是每个小朋友都能学得很快,并且可能会遇到一些问题和最佳做法。嗨@k_bm,正如我的建议,我认为值得一看改装库,因为它通常是当今大多数人在安卓上进行网络请求的工具。@FrancislainyCampos你说得对!但并不是每个小朋友都能学得很快,可能会遇到一些问题和最佳实践。我不需要一个json数组。我还需要获得一条消息,消息是否成功。你知道怎么做吗?请尝试conn.getResponseCode()==HttpURLConnection.HTTP_OK
,这是成功的标志。还要检查我不需要一个json数组。我还需要获得一条消息,消息是否成功。你知道怎么做吗?请尝试conn.getResponseCode()==HttpURLConnection.HTTP_OK
,这是成功的标志。也检查