내 코드가 서버에 POST 데이터를 보내려고하고 있는데 헤더를 추가해야하며 발리 라이브러리를 사용하고 있습니다.Android Volley POST 요청 (헤더 및 본문 포함)
"getparams"방법을 포함하지 않으면 요청이 작동하지만 게시 할 수 있지만 데이터가 없습니다.
"getparams"메서드를 포함하면 요청이 400 (잘못된 요청)으로 실패합니다.
어디에서 오류를 찾을 수 없었습니다.
public void tryPost() {
RequestQueue queue = Volley.newRequestQueue(this);
String serverUrl = "http://10.0.2.2:3000/tasks";
StringRequest stringRequest = new StringRequest(Request.Method.POST, serverUrl,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("TAG", "response = "+ response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("TAG", "Error = "+ error);
}
})
{
//
@Override
public Map<String, String> getHeaders() {
HashMap<String, String> headers = new HashMap<>();
headers.put("Accept", "application/json");
headers.put("Content-Type", "application/json");
return headers;
}
////
@Override
public Map<String, String> getParams() {
Map<String, String> params = new HashMap<>();
params.put("userId","sargent");
params.put("password","1234567");
return params; //return the parameters
}
};
// Add the request to the RequestQueue.
queue.add(stringRequest);
}
어떻게 도움이되기를 바랍니다 헤더를 추가합니까? – Tori
RequestParams에 대한 설명서를 읽었습니까? 여기에서 이러한 데이터를 추가하는 방법을 알 수 있습니다. 요청 매개 변수를 사용하여 시도해보십시오. 이렇게하면 작업을 수행하거나 더 정확하게 수행하여 실제로 원하는 것을 파악할 수 있습니다. 여기에서 이미 설명해 둔 데이터를 추가하려고합니다. –
헤더를 추가하는 방법을 설명하지 않은 문서를 읽었습니다. 특히 내가하고 싶은 것은 headers.put ("Accept", "application/json"); headers.put ("Content-Type", "application/json"); – Tori