JsonObjectRequest returns 415
JsonObjectRequest returns 415
我在 tomcat 中有一个服务器,我正在尝试从我的 android 设备发出请求。我得到的只是 415。我无法通过发送有缺陷的 Json 来用 fiddler 复制错误。服务器没有响应我的请求。我确实在每一步都有 println() 以防万一。
try {
params.put("userId", 2);
params.put("latitude", lon1);
params.put("longitude", lat1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
errTextBox.setText(params.toString());
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, params.toString(),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
msg.setText(response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Error: " + error.getMessage());
msg.setText("not ok " + error.getMessage());
}
}) {
/**
* Passing some request headers
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(60000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(jsonObjReq);
不是重复的,因为我的请求是通过 JsonObjectRequest 完成的。删除字符集也没有帮助。
好吧,我可能犯了个错误。
在我的服务器软件中,我已经将接收到的字符串解析为 Json。
所以我需要发送纯文本...
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "text/plain; charset=utf8");
return headers;
我在 tomcat 中有一个服务器,我正在尝试从我的 android 设备发出请求。我得到的只是 415。我无法通过发送有缺陷的 Json 来用 fiddler 复制错误。服务器没有响应我的请求。我确实在每一步都有 println() 以防万一。
try {
params.put("userId", 2);
params.put("latitude", lon1);
params.put("longitude", lat1);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
errTextBox.setText(params.toString());
JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.POST,
url, params.toString(),
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
msg.setText(response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.d("Error: " + error.getMessage());
msg.setText("not ok " + error.getMessage());
}
}) {
/**
* Passing some request headers
* */
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "application/json; charset=utf-8");
return headers;
}
};
jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(60000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
queue.add(jsonObjReq);
不是重复的,因为我的请求是通过 JsonObjectRequest 完成的。删除字符集也没有帮助。
好吧,我可能犯了个错误。 在我的服务器软件中,我已经将接收到的字符串解析为 Json。 所以我需要发送纯文本...
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
HashMap<String, String> headers = new HashMap<String, String>();
headers.put("Content-Type", "text/plain; charset=utf8");
return headers;