“Android 로봇은 Google에서 제작하여 공유한 저작물을 복제하거나 수정한 것으로 Creative Commons 3.0 저작자 표시 라이선스의 약관에 따라 사용되었습니다.”
Rest API를 사용하면 반환값으로 Json 형식의 데이터로 반환받기 마련인데,
Client에서 이를 담아줄 DTO가 있어야한다.
그럼 먼저 DTO를 만들어줘야 하는데 Json의 멤버가 10개 이하라면 괜찮겠지만
그 이상이라면..
장인의 손길이 필요한 순간이다.
몇 년전 개봉한 화성탐사 영화가 생각난다면 기분 탓이다.
하지만 하늘이 무너져도 솟아날 구멍은 있듯이 대안은 있다.
Android Studio(or IntelliJ) 한정으로 이를 쉽게 변환해주는 플러그인이 있다.
(본 포스팅은 Android Studio 4.2.2 기반으로 작성되었습니다.)
우선 Setting에서 Plugins로 들어가주자
DTO를 검색해서 DTO generator 를 설치해주자
이것으로 설치는 끝났다.
설치가 끝난 후 DTO로 사용해줄 Data Class를 만든 후 Insert를 눌러주면
DTO from JSON 이란 항목이 새로 생긴 것을 확인할 수 있다.
클릭을 해주면
이런 창이 나오게 되는데 자신이 사용할 API가 반환하는
Json 샘플 코드를 넣어주면 된다.
그 외에 사용법을 설명하자면
Validate
입력한 Json코드가 유효한지 검사해준다.
Format
입력한 Json코드를 정렬해준다.
Generate
입력한 Json코드를 DTO로 변환해준다.
How To Organize Classes?
-Single File With Inner Class -> 하위 객체를 이너 클래스로 만듬
-Seperate File For Each Object -> 하위 객체를 각 각의 클래스로 만듬
Type
사용 중인 Json Convert 라이브러리에 맞게 사용하면 된다.
체크를 하면 각 라이브러리에 맞게 선택할 수 있는 옵션도 있다.
필자는 Gson을 사용 중이라 Gson을 체크했다.
Naming
DTO로 변환된 후 멤버들의 이름에 관한 설정이다.
Json 코드의 멤버가 언더바(_) 되어있다면 카멜케이스를 사용하는 옵션도 설정할 수 있다.
End Class names with
사용해보지 않아서 모르겠다..
Kotlin
코틀린을 사용중이라면 멤버의 선언을 val이나 var로 지정해줄 수도 있다.
(Default는 var로 설정되어 있다.)
아주 이쁘고 깔끔하게 변환된 것을 볼 수 있다.
플러그인이 아니었다면 장장 90줄을 장인의 손길로 다듬어야 했다.
플러그인을 잘 활용하면 좀 더 수월하게 코딩할 수 있다는 걸 느끼게 해준 플러그인 이었다.
개인적으로 공부했던 것을 바탕으로 작성하다보니
잘못된 정보가 있을수도 있습니다.
인지하게 되면 추후 수정하겠습니다.
피드백은 언제나 환영합니다.
읽어주셔서 감사합니다.