[Android] retrofit2 form-data 사용하기

원준·2023년 7월 27일

Android Studio

목록 보기
36/40

어떻게 하는데?

  • 기존의 POST 방식과 유사하지만, 데이터를 조금 다르게 보내야한다.

1. Api 인터페이스 파일에서 내용 추가

  • form-data로 데이터를 보내겠다고 정의 한다.
@Multipart // form-data를 사용한다는
@POST("/board")
Call<ResultRes> addPost(@Header("Authorization") String token,
     @Part MultipartBody.Part photo, //파일을 보낼때 사용
     @Part("content")RequestBody content //내용을 보낼때 사용
);

2. 데이터 보내기

  • 기존의 POST 방식과 거의 동일하며, 데이터를 만들어서 보내는 부분이 다르다.

  • 파일은 매우 잘게 쪼개서 만들어 보내는 방법을 사용한다.

    // 파일을 잘게 쪼개서 보내는 방법
    RequestBody fileBody = RequestBody.create(photoFile, MediaType.parse("image/jpg"));
    MultipartBody.Part photo = MultipartBody.Part.createFormData("image", photoFile.getName(), fileBody);
                                          						// 보낼 키값 , 보낼 value값
    
    // 보낼 텍스트
    RequestBody textBody = RequestBody.create(content, MediaType.parse("text/plain"));
    
    Call<ResultRes> call = api.addPost(token, photo, textBody);
profile
공부해보자

0개의 댓글