빈 구멍 채우기
[Retrofit2] Body로 ZonedDateTime 보내기
⭐⭐기록
2021. 11. 3. 17:32
서버 개발자분이 api의 body 값으로 ZonedDateTime를 변환없이 그냥 보내면 된다고 해서 응??? 했는데... 역시나.
https://jinseongsoft.tistory.com/191
(Java) Gson 사용시 ZonedDateTime JSON Serialize/Deserialize 방법
들어가며 Gson을 사용하여 ZonedDateTime 객체를 Serialize/Deserialize 하는 경우가 있다. public void test() { String json = new GsonBuilder().create().toJson(ZonedDateTime.now()); ZonedDateTime dateTim..
jinseongsoft.tistory.com
1) ZonedDateTime의 Serializer/Deserializer인 TypeAdapter를 별도로 만든다. >> 위 블로그에서 너무나 잘 나와있음.
2) GsonBuilder 생성 시 1)에서 만든 TypeAdapter를 등록한다. >> 위 블로그에서 너무나 잘 나와있음.
3) Retrofit.Builder()에 addConverterFactroy()로, GsonConverterFactory를 추가한다.
//Java
private Gson gson = new GsonBuilder()
.registerTypeAdapter(ZonedDateTime.class, new ZonedDateTimeTypeAdapter())
.create();
//Kotlin
private val builder: Retrofit.Builder = Retrofit.Builder()
builder.addConverterFactory(GsonConverterFactory.create(gson))