object 정보 서버에서 받는 방법

2021. 9. 1. 11:18Android/Retrofit

안드로이드에서 object 정보를 서버로 받을 방법이 없을까 해서 찾아 보았다.

 

총 두가지 방법이 있다. (테스트서버는 파이썬을 이용 하였다)

 

1. @Body 사용

 

장점 : 자동으로 직력화가 이루어 지기에 따로 파싱 작업을 할 필요 없음 (개 편함)

단점 : 모르겠음

질문 : 오브젝트 외 에 파라미터를 추가 하고자 할때에는 어떻게 해야 할까 ?

    @POST("test")
    fun test(@Body test: Object): Completable
    
    #서버에서 아래와 같이 정보를 받음
    #{'test1': '1', 'test2': '2'}

 

Java  Object를 통째로 직렬화 해서 보냄

* 참고 Retrofit이 Gson 컨버터와 함께 사용하기 때문에 가능

 

2. @FieldMap 사용

 

장점 : 모르겠음

단점 : Object를 HashMap 형식으로 변경해 주어야 한다.

    @FormUrlEncoded
    @POST("test")
    fun test(@FieldMap test: HashMap<String, String>): Completable
    
    #서버에서 아래와 같이 정보를 받음
    #MultiDict([('test', 'test')])

 

@FormUrlEncoded 사용 필요

FormUrlEncoded는 key=value&key=value 와 같은 형태로 데이터를 전달하는 것을 명시

 

 

 

'Android > Retrofit' 카테고리의 다른 글

Retrofit2 XML 통신하기  (0) 2021.11.16
바이너리 데이터 서버로 전송  (0) 2021.09.09