Ini adalah sebuah REST API yang menyediakan data wilayah administrasi Indonesia. Database SQLite ini sudah terisi dengan data wilayah Indonesia yang bersumber dari github guzfirdaus/Wilayah-Administrasi-Indonesia.
- List data provinsi
- List data kota berdasarkan ID provinsi
- List data kecamatan berdasarkan ID kota
- List data desa berdasarkan ID kecamatan
- Data full administrasi berdasarkan ID desa. Contoh:
{
"province_code": "32",
"province_name": "JAWA BARAT",
"city_code": "32.04",
"city_name": "KAB. BANDUNG",
"region_code": "32.04.08",
"region_name": "Bojongsoang",
"village_code": "32.04.08.2002",
"village_name": "Bojongsoang"
}
Dari main, lalu ke routes untuk mendefinisikan path URL, lalu dari route tersebut ke handler, anggap saja handler ini adalah controller, lalu dari handler ke db, anggap db ini adalah repository, karena dia melakukan interaksi langsung dengan tier database.
flowchart LR
A[Main] --> B[Routes]
B --> C[Handlers]
C --> D[DB]
Untuk menggunakan REST API ini, Anda perlu menggunakan Postman atau Insomnia untuk mengakses endpoint tersebut.
- Buka Insomnia
- Klik
Import
- Pilih file
insomnia_wilayah_indonesia.json
lalu klikScan
, lalu klikImport
docker build -t wilayah-service .
docker run -p 8880:8080 --init --rm --name wilayah-service -v /rust-wilayah-service/data:/data wilayah-service
Ganti volume /rust-wilayah-service/data
dengan lokasi dimana database wilayah disimpan. pada linux/mac, Anda bisa menggunakan pwd
untuk mendapatkan lokasi tersebut.
services:
wilayah-service:
image: wilayah-service
ports:
- "8880:8080"
volumes:
- ./data:/data
Aplikasi microservice ini bisa dijalankan sendiri, namun akan lebih bagus jika disandingkan dengan aplikasi lain menggunakan API gateway seperti Krakend atau Apache APISIX.
flowchart TD
A[Browser] -->|Akses ke aplikasi| B[Server Proxy / NGINX]
B -->|/| C[Frontend]
B -->|/api| D[API Gateway]
D -->|/api/*| E[Main Backend]
D -->|/api/wilayah/*| F[Wilayah Service]