object 정보 서버에서 받는 방법
2021. 9. 1. 11:18ㆍAndroid/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 |