Showing posts with label jackson. Show all posts
Showing posts with label jackson. Show all posts

Saturday, September 8, 2018

Json naming convention using JsonNaming Annotations (Spring Boot)

Hallooo man teman !!

Pada postingan kali ini saya mau memberikan tips dalam konversi nama pada json saat pembuatan view object (VO) menggunakan JsonNaming Annotations. Pada saat membuat kelas view object, dalam penulisan variabel pada java yaitu menggunakan camelcase. sedangkan standarisasi penamaan json di nostra adalah menggunakan snakecase, sehingga yang biasa dilakukan adalah dengan menggunakan anotasi @JsonProperty seperti berikut :


Pada setiap field kita perlu menambahkan anotasi JsonProperty, nah kalo fieldnya sedikit sih ga masalah nambahin satu2 disetiap fieldnya tapi kan kalo fieldnya banyak lumayan juga kan nulisnya. Anotasi JsonNaming dapat digunakan untuk menghemat penulisan koding. Implementasinya sangat mudah, tinggal menambahkan anotasi JsonNaming diatas class VO tersebut, berikut implementasinya:



Dengan begitu, kodingan kita lebih sedikit dan menghemat waktu kita dalam membuat view object. berikut hasil nya :


Adapula beberapa tipe yang bisa digunakan dengan menggunakan json naming, diantaranya :

  1. LowerCaseWithUnderscoresStrategy yaitu Case dimana kita ingin mengkonversi menjadi karakter huruf kecil dengan pemisah underscore (_). Contohnya konversi dari "iniVariabel" menjadi "ini_variabel".
  2. LowerCaseStrategy yaitu Case dimana kita ingin mengkonversi menjadi karakter huruf kecil tanpa pemisah. Contohya : konversi dari "iniVariabel" menjadi "inivariabel".
  3. PascalCaseStrategy yaitu Case dimana kita ingin mengkonversi huruf depan menjadi huruf besar. Contohnya : konversi dari "iniVariabel" menjadi "IniVariabel".
Demikian postingan saya kali ini, semoga bermanfaat buat semuanya, terimakasih ^_^


Sunday, July 1, 2018

Generate POJO Class dari JSON mengunakan DTO Generator

Apa itu DTO Generator ?

DTO Generator adalah plugin Android Studio dan Intellij IDE yang digunakan untuk melakukan generate code dari JSON ke dalam bentuk POJO Class, plugin ini sangat membantu kita dalam menulis sebuah code dengan lebih cepat dan efisien.

Bagaimana installasi plugin di Android Studio / Intellij IDE ?
Buka File - Settings - Plugins pada Android Studio
Selanjutnya, browse repositories lalu cari DTO Generator pada search box, kemudian install dan restart

Bagaimana menggunakan DTO Generator?

Kasusnya kita akan membuat POJO Class dari json yang kita dapat, nah pertama yang harus dilakukan adalah membuat class baru di Android Studio.
Selanjutnya klik kanan generate lalu pilih DTO from JSON

Paste JSON pada tabs DTO Generator
Pilih Settings, lalu atur seperti dibawah ini

Keterangan :

1. Organize classes
  • Single file inner class : Membuat pojo class pada setiap objek dalam satu class
  • Separate file for each object : Membuat pojo class pada setiap objek dalam beda class
2. Type
  • Gson : Pojo class yang menggunakan library gson yang merupakan library java untuk serialize dan deserialize java object dari json atau sebaliknya
  • Jackson : Pojo class yang menggunakan library jackson yang merupakan library java untuk memproses JSON
  • Plain Class : Pojo class biasa
  • AutoValue : Pojo class yang menggunakan library AutoValue yang merupakan Library gson extension untuk membuat value types di java serta membantu mengurangi kode boilerplate yang terlibat dengan pembuatan tipe nilai.
  • Custom : Pojo class yang dimana kita dapat mengcustom sendiri anotasi pada setiap variabel
3. Encapsulation Option
  • Make fields private : Membuat field pada class menjadi private
  • Provide setter : Menambahkan method setter
  • Provide getter : Menambahkan method getter
3. Naming

  • Prefix field with : menambahkan field dengan prefix
  • Use camel case : menggunakan format penulisan camel case pada field

Jika semuanya sudah dirasa sesuai, pilih generate. Dan berikut adalah hasil dari generate POJO Class dari bentuk JSON


Sekian dari saya, semoga membantu :))

referensi :
https://github.com/nvinayshetty/DTOnator
https://www.slideshare.net/vinayhebballi/json-vs-gson-vs-jackson
https://medium.com/3xplore/autovalue-with-retrofit-2-0-61f9530787b1