1. Body에 데이터 전달하는 방법
- Body에 보낼 JSONObject 객체를 만들고,
- put 메소드로 객체에 key와 value를 넣어준다.
- JsonObjectRequest 생성자 3번째 파라미터에 JSONObject 객체를 전달한다.
// body에 데이터를 넣는다.
JSONObject body = new JSONObject();
try {
body.put("source", source);
body.put("target", target);
body.put("text", text);
} catch (JSONException e) {
return;
}
// request 생성자 3번째 파라미터에 body를 전달한다.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
URL,
body,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// 정상적으로 응답 받았을 때 실행할 코드
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// 응답에 에러가 발생했을 때 실행할 코드
}
}
);
queue.add(request);
2. Header에 데이터 전달하는 방법
- JsonObjectRequest 생성자가 끝나는 ; 바로 앞에 중괄호 { } 를 연다.
- 그 자리에 getHeaders 메소드를 오버라이딩 하고 헤더에 데이터를 넣어주고 리턴한다.
RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
JsonObjectRequest request = new JsonObjectRequest(
Request.Method.POST,
URL,
body,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}
){
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> headers = new HashMap<>();
headers.put("X-Naver-Client-Id", Config.NAVER_CLIENT_ID);
headers.put("X-Naver-Client-Secret", Config.NAVER_CLIENT_SECRET);
return headers;
}
};
queue.add(request);
'Android' 카테고리의 다른 글
Android Studio - Retrofit2를 이용해 API 서버에 요청하기(GET) + RecyclerVeiw 에 표시 (0) | 2023.02.13 |
---|---|
Android Studio - Retrofit2를 이용해 API 서버에 요청하기(POST) (1) | 2023.02.09 |
Android Studio - RecyclerView 페이징 처리 (마지막까지 스크롤 됐을 때, 이벤트 처리) (0) | 2023.02.08 |
Android Studio - Intent 활용 (주소록, 웹, SMS, Email 열기) (0) | 2023.02.07 |
Android Studio - 이미지 처리를 위한 Glide 라이브러리 사용법 (0) | 2023.02.07 |