以下是一些代码示例,可以帮助识别并解决网络响应问题:
检查响应头:
Map headers = response.headers().toMultimap();
for (Map.Entry entry : headers.entrySet()) {
Log.d(TAG, "Key: " + entry.getKey() + " Value: " + entry.getValue());
}
解析JSON响应:
private void parseJsonResponse(String responseString) {
Gson gson = new Gson();
Type type = new TypeToken() {}.getType();
MyResponse myResponse = gson.fromJson(responseString, type);
Log.d(TAG, "Parsed Response - Status: " + myResponse.getStatus() + " Message: " + myResponse.getMessage());
}
设置HTTP状态码和内容类型:
Response.Builder builder = new Response.Builder()
.protocol(Protocol.HTTP_1_1)
.code(200)
.message("OK")
.addHeader("Content-Type", "application/json; charset=utf-8")
.body(ResponseBody.create(MediaType.parse("application/json"), responseJson))
.request(request);