Course content

Rute yang Baik versus Rute yang Buruk

Click on the "Edit" button in the top corner of the screen to edit your slide content.

Memberi nama API Anda dengan benar adalah langkah pertama dalam mendesain API yang baik. Ketika nama API mengikuti sebuah konvensi, maka nama tersebut memberikan banyak informasi tentang API dan tujuannya. Untuk membuat endpoint API yang bermakna, Anda perlu mengikuti beberapa panduan dan aturan sederhana.

Dalam bacaan ini, Anda akan belajar tentang konvensi penamaan API dan membiasakan diri Anda dengan titik akhir API yang baik vs titik akhir API yang buruk, atau rute yang baik dan buruk.

Aturan 01: Semuanya dalam huruf kecil, dengan tanda hubung dan tidak disingkat

URI API Anda harus selalu menggunakan huruf kecil. Jangan gunakan camelCase, PascalCase, atau Title case ketika Anda mendesain API. Selain itu, pisahkan beberapa kata dengan menggunakan tanda hubung, bukan garis bawah. Jangan menyimpan kata yang disingkat, atau dipendekkan, dalam URI Anda; selalu gunakan bentuk lengkap dan bermakna.

Jika API Anda menerima sebuah variabel, Anda harus selalu merepresentasikannya dalam camelCase, dan membungkusnya di dalam satu set kurung kurawal {}.

Mari kita lihat contoh berikut ini.

URI

Status

Mengapa

/pelanggan

Baik

Jamak dan huruf kecil

/pelanggan/16/nomor-telepon

Baik

Huruf kecil dan tanda hubung digunakan untuk memisahkan kata

/pelanggan/16/alamat/rumah

Baik

Huruf kecil, tanpa garis miring, menampilkan hubungan hirarkis dengan garis miring ke depan.

/pengguna/{userId}

Baik

Variabel dalam huruf besar-kecil, dan tidak ada tanda hubung pada nama variabel

/Pelanggan

Buruk

Huruf besar/kecil

/umumAnggota

Buruk

huruf besar/kecil, tanpa tanda hubung untuk memisahkan kata

/MenuIsi/AnggotaUmum

Buruk

Huruf besar Pascal

/pelanggan/16/tel-no

Buruk

Singkatan

/pelanggan/16/nomor_telepon

Buruk

Garis bawah

/pelanggan/16/nomor_telepon

Buruk

Tidak ada pemisahan kata

/pengguna/{id-pengguna}

Buruk

Variabel harus menggunakan huruf besar-kecil, dan tanda hubung di antara kata

Aturan 02: Gunakan garis miring ke depan untuk menunjukkan hubungan hierarki

Selalu gunakan garis miring ke depan dalam URI API Anda untuk menunjukkan hubungan hierarki. Untuk memahami aturan ini, pertimbangkan skenario berikut ini dan hubungan dari titik akhir API.

Sebuah toko dapat memiliki pelanggan yang telah melakukan banyak pesanan dan setiap pesanan ini dapat memiliki alamat pengiriman, item menu, dan tagihan.

URI

Status

/store/pelanggan/{pelangganId}/pesanan

Baik

/store/pesanan/{pesananId}

Baik

/store/pesanan/{pesananId}/menu-item

Baik

Demikian pula, sebuah perpustakaan dapat memiliki buku-buku dari banyak penulis. Setiap buku memiliki nomor ISBN.

URI

Status

/perpustakaan/pengarang/buku

Baik

/perpustakaan/buku/{id-buku}/isbn

Baik

Aturan 03: Gunakan kata benda untuk nama sumber daya, bukan kata kerja

Salah satu fitur yang paling menonjol dari REST API adalah bahwa API ini menggunakan kata benda untuk mengindikasikan sumber daya, bukan kata kerja. Dan Anda harus selalu berpegang pada aturan ini ketika mendesain API Anda. Anda juga harus menggunakan kata benda jamak untuk menunjukkan koleksi.

URI

Diharapkan

Status

Mengapa

/pesanan

Koleksi

Baik

Menggunakan kata benda, bukan kata kerja

/pengguna/{userId}

Pengguna tunggal

Baik

Menggunakan kata benda dan hubungan hierarki yang tepat dan konvensi penamaan

/order

Koleksi

Buruk

Menggunakan kata benda tunggal untuk sebuah koleksi

/getOrder

Sumber daya tunggal

Buruk

Kata kerja, camelCase

/getUser/{userId}

Pengguna tunggal

Buruk

Kata kerja, huruf besar/kecil

Aturan 04: Hindari karakter khusus

Anda harus selalu menghindari karakter khusus di titik akhir API Anda. Karakter khusus dapat membingungkan dan secara teknis rumit bagi pengguna Anda. Pertimbangkan contoh-contoh buruk berikut ini.

URI

Status

Mengapa

/pengguna/12|23|23/alamat

Buruk

Karakter khusus |

/orders/16/menu^items

Buruk

Karakter khusus ^

Jika API Anda dapat menerima beberapa id pengguna, maka id pengguna tersebut harus dipisahkan dengan menggunakan koma, seperti yang ditunjukkan di bawah ini.

URI

Status

Mengapa

/pengguna/12,23,23/alamat

Baik

Menggunakan koma untuk pemisahan

Aturan 05: Hindari ekstensi berkas dalam URI

Anda harus selalu menghindari ekstensi berkas dalam nama API Anda. Sebagai contoh, jika API Anda dapat menghasilkan keluaran dalam format JSON dan XML, maka seharusnya tidak terlihat seperti ini.

URI

Status

Mengapa

/sports/basketball/teams/{teamId}.json

Buruk

Ekstensi file pada akhirnya

/sports/basketball/teams/{teamId}.xml

Buruk

Ekstensi file di bagian akhir

Sebagai gantinya, klien Anda harus dapat menunjukkan format yang diharapkan dalam string kueri, seperti ini.

URI

Status

Mengapa

/sports/basketball/teams/{teamId}?format=json

Baik

Tidak ada ekstensi file

/sports/basketball/teams/{teamId}?format=xml

Baik

Tidak ada ekstensi file

Demikian pula, jika API Anda menyajikan berkas statis, misalnya berkas CSS atau JavaScript, Anda harus menggunakan titik akhir seperti berikut ini untuk mengirimkan berkas sumber yang telah diperkecil dan asli. Anda juga dapat menggunakan string kueri untuk mendapatkan versi yang diperkecil atau versi asli. Beberapa pengembang API menggunakan format keluaran seperti ekstensi file di akhir titik akhir API biasa, yang juga merupakan praktik buruk.

URI

Status

Mengapa

/assets/js/jquery/3.12/min

Baik

Tidak ada ekstensi file

/assets/js/jquery/3.12/source

Baik

Tidak ada ekstensi file

/assets/js/jquery/3.12/?format=min

Baik

Tidak ada ekstensi file

/assets/js/jquery/3.12/?format=source

Baik

Tidak ada ekstensi file

/menu-items?format=json

Baik

Titik akhir yang dinamai dengan sempurna dengan format keluaran yang diharapkan dalam string kueri

/menu-items.json

Buruk

Menggunakan format keluaran yang diharapkan sebagai ekstensi file

Aturan 06: Gunakan parameter kueri untuk memfilter jika diperlukan

Ketika mendesain API, Anda harus selalu melakukan pemfilteran data menggunakan string kueri. Hal ini sama ketika Anda mengharapkan beberapa parameter tambahan, seperti jumlah item per halaman dan nomor halaman.

Pertimbangkan contoh situs perjalanan ini. Anda ingin menemukan lokasi mana saja yang pernah dikunjungi oleh pengguna tertentu. Dan kemudian Anda ingin mengetahui lokasi mana saja di Amerika Serikat yang telah dikunjungi oleh pengguna tersebut.

URI

Status

Mengapa

/pengguna/{userId}/lokasi

Bagus

Hierarkis

/users/{userId}/locations?country=USA

Baik

camelCase, tidak ada pemisahan kata

/artikel?per-halaman=10&halaman=2

Baik

Penggunaan string kueri yang tepat

/pengguna/{userId}/lokasi/USA

Buruk

Tidak menggunakan string kueri untuk memfilter data

/artikel/halaman/2/item-per-halaman/10

Buruk

Berlebihan dan tidak jelas

Aturan 07: Tidak ada garis miring di belakang

Saat membagikan titik akhir API dengan orang lain dalam tim Anda, atau di depan umum, hindari penggunaan garis miring di akhir titik akhir API. Perhatikan contoh berikut ini

URI

Status

Mengapa

/pengguna/{userId}

Baik

Tidak ada garis miring di belakang

/artikel/{artikelId}/pengarang

Baik

Tidak ada garis miring di belakang

/pengguna/{penggunaId}/

Buruk

Garis miring

/artikel/{artikelId}/pengarang/

Buruk

Garis miring tertinggal

Kesimpulan

Sekarang Anda telah memahami cara membuat endpoint REST API dengan nama yang baik. Ingat, strategi penamaan yang konsisten untuk API Anda adalah salah satu keputusan desain yang paling penting untuk keseluruhan proyek!

Rating
0 0

There are no comments for now.

to be the first to leave a comment.