RETROFIT (2) 썸네일형 리스트형 Retrofit - MVVM - Coroutine ㄲㄲㄲ 그렇다. async에 아주 많이 애를 먹었다. 어째서 두 개의 fun을 리스트로 묶어 awaitAll()을 실행했는데 자꾸 하나를 기다리지 않고 다음 fun을 진행해버리는가?! 일단 이 문제는 잠시 뒤로 미루고 프로세스가 진행될 수 있게, 두 fun을 각기 다른 fun 안에서 async 처리해주었다. 속성으로 공부해서 실무에 적용하려니 정말 힘들다 힘들어, 나는 설명을 해줘야 하고 나에게 설명해줄 사람은 없고! 1년차에 이래도 되는 겁니까 이거!!! 일단 이전에 url 앞부분 (Shop, Field, ...)에 따라 apiCall을 나눠놓는 것은 굉장히 비효율적이라는 결론을 내리고 하나의 인터페이스에 모두 몰아넣기로 하였다. ApiCall.kt interface ApiCall { @POST("/Login.. Retrofit! Eureka! Fragment랑 같이 쓰려다가 MainFragment 예시 때문에 글이 너무 길어져서. 우선 response가 제대로 돌아오지 않던 이유를 찾았다. Retrofit이 Gson을 디폴트로 사용하기 때문에, 내가 Body로 전송하는 인스턴스가 Json으로 자동으로 serialized 되었기 때문. 즉, 이미 serialized 된 JSONObject를 한 번 더 toJson() 시켜주는 삽질을 하고 있던 거다. 하여, 다시 만든 인터페이스. LogInApi.kt interface LogInApi { @POST("/Login") fun startLogin(@Body jsonObj: Operator) : Call companion object { fun create() : ApiInterface { val r.. 이전 1 다음