Cara Membangun Backend untuk Golang?
Dalam tutorial ini, Anda akan belajar bagaimana membangun dan menguji backend lengkap untuk Golang menggunakan Back4App.
Kami akan memandu Anda melalui integrasi fitur-fitur penting Back4App—seperti manajemen database, pengaturan keamanan, otentikasi pengguna, penyimpanan file, dan Cloud Code—untuk membuat backend yang aman, fleksibel, dan dapat diskalakan yang bekerja dengan baik dengan server http Go Anda.
Fokus kami adalah menggunakan API RESTful Back4App untuk terhubung ke database dari klien http Golang kami, daripada menggunakan Parse SDK yang khusus, sehingga kami dapat menggambarkan bagaimana membangun fungsi handler yang mudah untuk dipelihara untuk backend baru Anda.
Anda akan melihat bagaimana pendekatan ini mengurangi kompleksitas pengembangan dibandingkan dengan menyiapkan server Anda sendiri dari awal.
Dengan mengandalkan kueri waktu nyata Back4App, penyimpanan file, dan sistem otentikasi pengguna, Anda akan mempercepat proses pembuatan backend Anda.
Pada akhir tutorial, Anda akan tahu bagaimana membangun backend Golang yang aman, menjadwalkan tugas otomatis, dan mengintegrasikan webhook eksternal.
Anda akan dipersiapkan dengan baik untuk meningkatkan fondasi ini menjadi aplikasi siap produksi atau menambahkan logika kustom sesuai kebutuhan.
- Lingkungan pengembangan Go (Golang) Pastikan Anda telah menginstal Go di mesin Anda. Anda dapat menemukan petunjuk di Dokumen Resmi Go.
- Pengetahuan dasar tentang paket http Go dan API RESTful Pemahaman tentang cara menulis handler func, mengurai pesan kesalahan, menangani permintaan metode post, dan menyiapkan server http localhost akan sangat membantu.
Pastikan Anda memiliki prasyarat ini sebelum melanjutkan. Pengaturan ini akan mempermudah pengalaman Anda saat Anda menemukan cara membangun backend untuk Golang menggunakan Back4App.
Membuat proyek Back4App baru adalah langkah pertama Anda. Di sinilah Anda akan menyimpan data, mengonfigurasi penyimpanan file, menjadwalkan fungsi cloud, dan menambahkan tugas latar belakang. Proyek backend ini akan menjadi dasar untuk semua langkah selanjutnya.
- Masuk ke akun Back4App Anda.
- Klik “Aplikasi Baru” di dasbor Back4App Anda.
- Beri nama aplikasi Anda (misalnya, “Golang-Backend-Tutorial”).

Setelah dibuat, aplikasi ini akan muncul di dasbor Anda. Aplikasi ini sekarang menjadi backend berbasis Back4App Anda.
Back4App menyediakan API RESTful untuk membuat, memperbarui, dan menghapus data. Dalam Golang, kita akan menggunakan klien http dari pustaka standar Go untuk berkomunikasi dengan endpoint ini.
Temukan ID Aplikasi dan Kunci API REST dengan pergi ke Pengaturan atau Keamanan & Kunci bagian dari aplikasi Back4App Anda:

Anda akan memerlukan kredensial ini di setiap header permintaan. Kami akan menggambarkan ini di langkah-langkah berikutnya ketika kami terhubung ke database menggunakan metode post, GET, dan permintaan HTTP lainnya.
Untuk menyimpan data di Back4App, Anda mendefinisikan kelas (tabel) dan kolom (field). Misalnya, katakanlah kita ingin kelas Todo . Anda dapat membuatnya secara manual di Dasbor Back4App:
- Pergi ke bagian Database di dasbor aplikasi Anda.
- Buat kelas baru bernama “Todo.”
- Tambahkan kolom seperti title (String) dan isCompleted (Boolean).

Anda juga dapat membiarkan sistem secara otomatis membuat kolom dengan mengirimkan objek dengan field baru dari aplikasi Golang Anda.
- Buka AI Agent di Dasbor Aplikasi Anda.
- Deskripsikan model data yang Anda inginkan (misalnya, “Silakan buat kelas Todo baru dengan field judul dan field isCompleted.”).
- Terima skema yang disarankan.

Fitur berguna ini menghemat waktu dalam merancang skema basis data Anda.
Berikut adalah contoh dasar tentang cara membuat (metode POST) dan mengambil (metode GET) data menggunakan paket http Go. Anggap Anda memiliki APPLICATION_ID dan REST_API_KEY sebagai variabel lingkungan.
Dalam contoh-contoh ini, kami membuat klien http, menambahkan header yang diperlukan, dan menangani kode respons bersama dengan pesan kesalahan. Ingat untuk mengganti YOUR_APPLICATION_ID dan YOUR_REST_API_KEY dengan kunci yang sebenarnya dari proyek Back4App Anda.
Back4App juga menyediakan endpoint GraphQL di https://parseapi.back4app.com/graphql. Anda dapat menggunakan pustaka klien Go GraphQL yang populer (seperti Machine Box graphql) untuk melakukan kueri atau mutasi. Ini bisa menjadi pendekatan yang lebih terstruktur daripada panggilan REST mentah.
Jika Anda ingin melihat pembaruan waktu nyata di aplikasi Anda, Anda dapat mengaktifkan Kueri Langsung di Dasbor Back4App. Golang tidak memiliki pustaka Kueri Langsung Parse resmi. Namun, Anda dapat mengimplementasikan koneksi websocket Anda sendiri untuk mendengarkan pembaruan Kueri Langsung dari wss://YOUR_SUBDOMAIN.b4a.io. Fitur ini berguna untuk aplikasi kolaboratif yang memerlukan sinkronisasi data segera.
Back4App menyediakan Daftar Kontrol Akses (ACL) dan Izin Tingkat Kelas (CLP) untuk melindungi data Anda. ACL didefinisikan pada setiap objek, sementara CLP mendefinisikan aturan umum untuk seluruh kelas.

- Pergi ke Database tampilan aplikasi Anda di Back4App.
- Pilih sebuah kelas (misalnya, Todo).
- Klik Izin Tingkat Kelas dan atur akses baca/tulis untuk berbagai peran pengguna atau akses publik.

Anda dapat melewatkan ACL saat membuat atau memperbarui objek melalui panggilan REST. Ini memastikan hanya pengguna atau peran tertentu yang dapat membaca/menulis data. Untuk detail lebih lanjut, kunjungi Pedoman Keamanan Aplikasi.
Kode Cloud memungkinkan Anda menjalankan fungsi sisi server, pemicu, atau validasi—tanpa mengelola server Anda sendiri. Anda dapat menambahkan logika bisnis yang lebih canggih atau mengintegrasikan API eksternal dari sisi server.
Contoh sederhana adalah fungsi yang menghitung panjang teks. Di main.js file di dasbor Back4App:
Terapkan Cloud Code dengan salah satu dari:
- Back4App CLI:
- Dasbor Back4App di Cloud Code > Functions. Tempelkan kode Anda di editor main.js dan klik Terapkan.

Anda dapat memanggil Cloud Function melalui REST dari klien http Anda:
Back4App menggunakan kelas User untuk autentikasi. Ketika Anda membuat pengguna baru melalui REST, backend akan menyimpan kredensial dengan aman dan menghasilkan token sesi.
Gunakan token sesi yang dikembalikan untuk permintaan selanjutnya yang memerlukan hak pengguna. Dalam Go, Anda akan mengirimkan jenis permintaan HTTP yang sama dari klien http seperti yang ditunjukkan sebelumnya.
Untuk login sosial seperti Google atau Facebook, Anda perlu mengonfigurasi pengaturan OAuth di Back4App. Alur ini sering melibatkan pertukaran token. Konsultasikan dengan Dokumentasi Masuk Dengan Apple / Login Sosial untuk detail.
Anda dapat menyimpan file di Back4App dengan mengirimkannya sebagai data yang dienkode base64 atau multipart/form-data:
Setelah mengunggah, Anda dapat melampirkan file ke objek dengan menyimpan URL file yang dikembalikan atau penunjuk file. Dalam Go, buat permintaan http dengan cara yang sama—pastikan Anda mengkodekan konten file dengan benar.
Verifikasi email memastikan pengguna mengontrol email yang diberikan, sementara reset kata sandi membantu mereka memulihkan akun. Kedua fitur ini meningkatkan keamanan dan kepercayaan.
- Pergi ke Dasbor Back4App.
- Di bawah Pengaturan Email, aktifkan email verifikasi.
- Sesuaikan template email Anda jika diperlukan.
Ketika seorang pengguna mendaftar, email verifikasi secara otomatis dikirim kepada mereka.
Gunakan endpoint REST requestPasswordReset untuk memulai reset kata sandi:
Cloud Jobs berjalan sesuai jadwal untuk mengotomatiskan tugas seperti membersihkan data yang sudah tidak terpakai atau mengirim buletin mingguan.
Terapkan pekerjaan ini dan jadwalkan di Back4App Dashboard > Pengaturan Aplikasi > Pengaturan Server > Pekerjaan Latar Belakang.

Webhook memungkinkan Anda memberi tahu layanan eksternal ketika peristiwa tertentu terjadi. Misalnya, Anda mungkin mengirim pemberitahuan Slack ketika item Todo baru dibuat.
- Pergi ke Webhook bagian di Back4App Dashboard Anda.
- Konfigurasi endpoint Anda (seperti https://your-external-service.com/webhook).
- Tetapkan pemicu (misalnya, afterSave pada Todo).

Anda juga dapat memicu API eksternal dari Cloud Code dengan menulis permintaan klien http jika Anda lebih suka kontrol langsung atas peristiwa.
Aplikasi Admin Back4App adalah antarmuka titik-dan-klik yang dapat Anda bagikan dengan anggota tim non-teknis untuk mengelola data.
- Pergi ke More > Admin App di Dasbor Back4App Anda.
- Aktifkan dan buat pengguna admin.

Gunakan subdomain yang Anda pilih untuk masuk ke UI yang sederhana untuk manipulasi data. Ini membebaskan Anda dari menulis kueri langsung atau kode kustom untuk melakukan operasi dasar.
Dalam panduan ini, Anda telah menemukan cara membangun backend untuk Golang menggunakan Back4App.
Anda menjelajahi cara menghubungkan ke database melalui API RESTful, menerapkan langkah-langkah keamanan dengan ACL dan CLP, menjalankan tugas terjadwal dengan Cloud Jobs, mengintegrasikan dengan layanan eksternal menggunakan Webhooks, dan mengatur otentikasi pengguna serta penyimpanan file.
Dengan paket http Go dan fitur kuat Back4App, Anda dapat merancang backend yang kuat yang menghemat waktu dan dapat diskalakan dengan mudah.
Sekarang setelah Anda menguasai dasar-dasarnya, Anda dapat memperluas logika fungsi handler Golang Anda, menghubungkan ke endpoint API baru, dan membangun aplikasi kaya yang memenuhi kebutuhan Anda.
- Perbaiki aplikasi Golang Anda: Tambahkan fitur canggih seperti akses berbasis peran, atau optimalkan server http Anda untuk produksi.
- Pelajari lebih lanjut tentang kueri waktu nyata: Integrasikan Kueri Langsung untuk aplikasi kolaboratif.
- Jelajahi dokumentasi Back4App yang lebih lanjut: Sesuaikan ACL, log, dan analitik Anda.
- Gabungkan API pihak ketiga: Gunakan Cloud Code atau webhook langsung untuk memperluas fungsionalitas backend Anda.
