Json을 DTO로 쉽게 바꿔보자

지프치프·2021년 8월 10일
0

Android

목록 보기
5/86
post-thumbnail

“Android 로봇은 Google에서 제작하여 공유한 저작물을 복제하거나 수정한 것으로 Creative Commons 3.0 저작자 표시 라이선스의 약관에 따라 사용되었습니다.”


🙄 JSON을 DTO로 바꾼다는 것..

Rest API를 사용하면 반환값으로 Json 형식의 데이터로 반환받기 마련인데,
Client에서 이를 담아줄 DTO가 있어야한다.
그럼 먼저 DTO를 만들어줘야 하는데 Json의 멤버가 10개 이하라면 괜찮겠지만
그 이상이라면..
장인의 손길이 필요한 순간이다.


😝 우리는 답을 찾을 것이다. 언제나 그랬듯이

몇 년전 개봉한 화성탐사 영화가 생각난다면 기분 탓이다.
하지만 하늘이 무너져도 솟아날 구멍은 있듯이 대안은 있다.
Android Studio(or IntelliJ) 한정으로 이를 쉽게 변환해주는 플러그인이 있다.
(본 포스팅은 Android Studio 4.2.2 기반으로 작성되었습니다.)


🚀 설치해보자

우선 Setting에서 Plugins로 들어가주자

  • Files -> Settings -> Plugins
    Ctrl + Alt + S 단축키를 사용하셔도 된다..


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줄을 장인의 손길로 다듬어야 했다.

플러그인을 잘 활용하면 좀 더 수월하게 코딩할 수 있다는 걸 느끼게 해준 플러그인 이었다.

개인적으로 공부했던 것을 바탕으로 작성하다보니
잘못된 정보가 있을수도 있습니다.
인지하게 되면 추후 수정하겠습니다.
피드백은 언제나 환영합니다.
읽어주셔서 감사합니다.

profile
지프처럼 거침없는 개발을 하고싶은 개발자

0개의 댓글