Quickstarters
Feature Overview
How to Build a Backend for Play Framework?
36 mnt
pendahuluan dalam tutorial ini, anda akan belajar bagaimana membangun backend lengkap untuk play framework menggunakan back4app kami akan membahas fitur fitur penting untuk backend server, termasuk pengaturan konfigurasi, manajemen database, cloud code functions, rest dan graphql apis, otentikasi pengguna, penyimpanan file, dan kueri waktu nyata anda akan melihat bagaimana back4app menyederhanakan proses pengaturan, penskalaan, dan pemeliharaan backend aplikasi web sambil memungkinkan anda untuk fokus pada kode play framework anda dengan belajar bagaimana membangun backend untuk play framework dengan back4app, anda akan mengurangi waktu pengembangan dan meminimalkan masalah dev ops anda juga akan menambahkan fitur fitur kuat seperti login sosial, penjadwalan tugas (cloud jobs), dan webhook setelah anda menyelesaikan ini, anda dapat memperluas sistem menjadi solusi kelas produksi, mengintegrasikan fitur fitur yang lebih canggih sesuai kebutuhan ketika anda selesai, anda akan memiliki cetak biru yang solid untuk membuat aplikasi web play framework anda yang berikutnya yang dapat diskalakan dan aman anda akan siap untuk menyelami lebih dalam ke dalam peningkatan kinerja, integrasi, atau optimasi mode pengembangan untuk menangani tuntutan dunia nyata prasyarat untuk menyelesaikan tutorial ini, anda akan membutuhkan akun back4app dan proyek back4app baru memulai dengan back4app https //www back4app com/docs/get started/new parse app jika anda tidak memiliki akun, anda dapat membuatnya secara gratis ikuti panduan di atas untuk menyiapkan proyek anda lingkungan play framework yang berfungsi pastikan anda telah menginstal java 8+ https //adoptium net/ instal sbt https //www scala sbt org/download html atau gunakan sbt melalui ide anda https //www playframework com/documentation/latest/ide pengetahuan dasar tentang play framework lihat dokumentasi play https //www playframework com/documentation/latest jika anda perlu menyegarkan kembali dasar dasar keterampilan dengan rest atau graphql ini akan membantu anda berinteraksi dengan back4app, terutama jika anda memutuskan untuk tidak menggunakan atau jika anda tidak dapat menggunakan parse sdk secara langsung pastikan anda memiliki prasyarat ini sebelum anda mulai memiliki proyek back4app anda yang disiapkan dan lingkungan play framework anda yang siap akan membantu anda mengikuti dengan lancar langkah 1 – membuat proyek baru di back4app dan menghubungkan mengapa anda membutuhkan proyek back4app baru proyek back4app yang baru adalah tulang punggung untuk backend anda karena mengelola data aplikasi anda, otentikasi, dan logika cloud apakah anda sedang membangun prototipe kecil atau aplikasi web berskala besar, mudah untuk menghubungkan aplikasi play framework anda ke proyek back4app yang baru membuat proyek back4app masuk ke akun back4app anda klik “aplikasi baru” di dasbor back4app anda beri nama aplikasi anda , misalnya, “play framework backend” setelah dibuat, proyek baru anda akan muncul di dasbor menghubungkan dengan back4app back4app memanfaatkan parse server jika aplikasi play framework anda berencana untuk berinteraksi dengan back4app melalui parse java sdk, anda dapat menambahkannya ke build sbt jika diperlukan jika tidak, anda dapat menggunakan endpoint rest atau graphql ambil kunci parse anda di dasbor back4app anda, buka pengaturan aplikasi atau keamanan & kunci untuk menemukan id aplikasi , kunci api rest , kunci javascript (jika menggunakan panggilan front end), atau kunci klien , ditambah url server (biasanya https //parseapi back4app com ) menggunakan java/parse sdk (opsional) jika anda ingin integrasi sisi server langsung menggunakan parse sdk, tambahkan ketergantungan di build sbt librarydependencies += "com parse" % "parse" % "1 0 40" // example version kemudian, dalam kode play framework anda, anda dapat menginisialisasi parse object parseconfig { def init() unit = { parse initialize(new parse configuration builder("your app id") server("https //parseapi back4app com") clientkey("your client key") build() ) } } anda mungkin menempatkan ini di global scala anda atau memanggilnya dari titik inisialisasi yang sesuai ini mempersiapkan anda untuk interaksi langsung dengan proyek back4app anda jika anda mau, gunakan endpoint rest atau graphql untuk operasi data, terutama jika anda ingin lebih banyak kontrol atas permintaan http anda atau jika anda sedang membangun mikroservis langkah 2 – menyiapkan database layanan penyimpanan data back4app mendukung berbagai jenis data dan pembuatan skema dinamis ini memungkinkan anda menyimpan data aplikasi play anda dengan sedikit kesulitan membuat model data buka bagian “database” di dasbor back4app anda buat kelas baru (misalnya, “todo”) dan tambahkan kolom (misalnya, title sebagai string, iscompleted sebagai boolean) simpan untuk menyelesaikan skema database anda membuat model data dengan agen ai jika anda ingin dengan cepat mendefinisikan struktur data anda buka agen ai di dasbor aplikasi anda deskripsikan model data yang anda inginkan dalam bahasa yang sederhana (misalnya, “buat model todo yang sederhana ”) agen akan menghasilkan skema untuk anda secara otomatis membaca dan menulis data menggunakan parse sdk (opsional) jika anda memilih untuk menyertakan parse java sdk dalam aplikasi play framework anda, anda dapat menyimpan dan mengquery data import com parse {parseobject, parsequery} object todoservice { def createtodo(title string, iscompleted boolean) either\[throwable, parseobject] = { try { val todo = new parseobject("todo") todo put("title", title) todo put("iscompleted", iscompleted) right(todo save()) } catch { case e throwable => left(e) } } def fetchtodos() either\[throwable, java util list\[parseobject]] = { try { val query = parsequery getquery("todo") val results = query find() right(results) } catch { case e throwable => left(e) } } } membaca dan menulis data menggunakan rest anda dapat mengirim permintaan http dari pengontrol atau layanan play framework anda curl x post \\ h "x parse application id your application id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"title" "buy groceries", "iscompleted" false}' \\ https //parseapi back4app com/classes/todo membaca dan menulis data menggunakan graphql back4app juga menyediakan api graphql mutation { createtodo(input { fields { title "clean the house" iscompleted false } }) { todo { objectid title iscompleted } } } ini sangat berguna jika anda sedang membangun mikroservis atau ingin api yang fleksibel untuk klien front end anda bekerja dengan kuery langsung jika aplikasi web anda membutuhkan data waktu nyata, aktifkan kuery langsung aktifkan kuery langsung di dasbor back4app di bawah pengaturan server atur langganan anda dalam kode jika menggunakan sdk parse atau kode kustom, pastikan anda mengonfigurasi livequeryserverurl langganan untuk perubahan pada kelas seperti “todo ” langkah 3 – menerapkan keamanan dengan acl dan clp ikhtisar acl dan clp back4app menyediakan daftar kontrol akses (acl) untuk keamanan tingkat objek dan izin tingkat kelas (clp) untuk pembatasan yang lebih luas ini membantu menjaga backend server anda aman dan memastikan hanya operasi yang diizinkan yang terjadi izin tingkat kelas di bagian database dari dasbor back4app anda pilih kelas (misalnya, “todo”) buka clp untuk membatasi baca/tulis kepada pengguna yang terautentikasi, peran, atau publik konfigurasi sesuai kebutuhan (misalnya, “memerlukan autentikasi” untuk setiap penulisan) acl acl melindungi objek individu misalnya, anda dapat memastikan hanya pengguna tertentu yang dapat membaca atau menulis catatan tertentu jika anda menggunakan parse sdk dari kode scala import com parse {parseacl, parseuser, parseobject} def createprivatetodo(title string, owner parseuser) parseobject = { val todo = new parseobject("todo") todo put("title", title) val acl = new parseacl(owner) acl setpublicreadaccess(false) acl setpublicwriteaccess(false) todo setacl(acl) todo save() todo } langkah 4 – menulis fungsi cloud code mengapa cloud code cloud code memungkinkan anda menjalankan logika kustom di server back4app, menambahkan aturan bisnis atau validasi sebelum atau setelah transaksi data anda tidak perlu menangani penyediaan server anda sendiri atau memulai ulang mode pengembangan untuk menerapkan fungsi tersebut contoh fungsi // main js parse cloud define('calculatetextlength', async (request) => { const { text } = request params; if (!text) { throw new error('no text provided'); } return { length text length }; }); anda dapat memanggil ini dari aplikasi play anda melalui rest, graphql, atau jika menggunakan parse sdk, langsung penerapan gunakan back4app cli atau dasbor instal cli (contoh linux/macos) konfigurasi kunci akun terapkan atau terapkan melalui dasbor dengan menempelkan fungsi anda di cloud code > functions dan tekan “terapkan” menggunakan modul npm cloud code mendukung modul npm misalnya, jika anda memerlukan klien http seperti axios const axios = require('axios'); parse cloud define('fetchdata', async (req) => { const response = await axios get(req params url); return response data; }); langkah 5 – mengonfigurasi autentikasi mengaktifkan autentikasi pengguna back4app menggunakan kelas parse user untuk pendaftaran, login, dan manajemen sesi dalam pengaturan konfigurasi , pastikan “aktifkan verifikasi email” dan “aktifkan reset kata sandi” jika diinginkan kode contoh (parse sdk) import com parse {parseuser} object authservice { def signupuser(username string, password string, email string) either\[throwable, parseuser] = { try { val user = new parseuser() user setusername(username) user setpassword(password) user setemail(email) right(user signup()) } catch { case e throwable => left(e) } } def loginuser(username string, password string) either\[throwable, parseuser] = { try { right(parseuser login(username, password)) } catch { case e throwable => left(e) } } } login sosial jika anda memerlukan login sosial (google, apple, atau facebook), konfigurasikan mereka di dasbor back4app anda parse menyediakan metode utilitas atau anda dapat mengandalkan alur oauth standar, tergantung pada kebutuhan dan pendekatan anda langkah 6 – menangani penyimpanan file back4app menyimpan file melalui parse file dari play framework, anda dapat mengunggah dengan rest atau parse sdk // example with parse sdk import com parse {parsefile, parseobject} import java nio file {files, paths} def uploadimage(filepath string) either\[throwable, string] = { try { val data = files readallbytes(paths get(filepath)) val parsefile = new parsefile("myimage jpg", data) parsefile save() right(parsefile geturl) } catch { case e throwable => left(e) } } pertimbangan keamanan anda dapat mengonfigurasi izin unggah file (aktifkan untuk publik, anonim, atau terautentikasi) di pengaturan server back4app langkah 7 – verifikasi email dan reset kata sandi navigasikan ke pengaturan email di dasbor back4app aktifkan verifikasi email dan atur template email untuk reset kata sandi di aplikasi play anda, anda dapat memanggil curl x post \\ h "x parse application id your app id" \\ h "x parse rest api key your rest api key" \\ h "content type application/json" \\ d '{"email" "user\@example com"}' \\ https //parseapi back4app com/requestpasswordreset ini akan memicu back4app untuk mengirimkan instruksi reset kata sandi ke email pengguna langkah 8 – menjadwalkan tugas dengan cloud jobs cloud jobs jika anda memerlukan a tugas awal untuk pekerjaan latar belakang (misalnya, membersihkan data atau menghasilkan laporan), anda dapat menjadwalkan cloud jobs di back4app // main js parse cloud job('cleanupoldtodos', async (request) => { const todo = parse object extend('todo'); const query = new parse query(todo); const now = new date(); const thirty days = 30 24 60 60 1000; const cutoff = new date(now thirty days); query lessthan('createdat', cutoff); try { const oldtodos = await query find({ usemasterkey true }); await parse object destroyall(oldtodos, { usemasterkey true }); return `deleted ${oldtodos length} old todos `; } catch (err) { throw new error('error during cleanup ' + err message); } }); penjadwalan terapkan kode cloud anda di pengaturan aplikasi > pengaturan server > pekerjaan latar belakang , jadwalkan pekerjaan untuk dijalankan setiap hari, mingguan, atau sesuai kebutuhan langkah 9 – mengintegrasikan webhooks jika anda ingin memberi tahu layanan eksternal setiap kali data berubah, atur webhooks di back4app pergi ke more > webhooks di dasbor back4app anda tambahkan webhook dengan endpoint (misalnya, slack atau stripe) pilih pemicu, seperti “rekaman baru di kelas todo ” anda juga dapat membuat webhooks dalam pemicu cloud code, melakukan permintaan http langsung ke layanan pihak ketiga langkah 10 – menjelajahi panel admin back4app the back4app admin app adalah antarmuka yang ramah pengguna untuk manajemen data dan catatan pengguna non teknis dapat menangani operasi crud tanpa harus menyelami kode mengaktifkan admin app pergi ke app dashboard > more > admin app aktifkan dan buat pengguna admin pilih subdomain untuk akses yang nyaman setelah masuk, anda dapat mengelola entri data tanpa mengganggu dasbor tingkat rendah atau alat cli kesimpulan selamat! anda telah belajar cara membangun backend untuk play framework menggunakan layanan back4app sepanjang tutorial ini, anda telah membuat backend yang aman untuk aplikasi play framework di back4app mengatur database , termasuk desain skema, hubungan, dan kueri waktu nyata menerapkan acl dan clp untuk akses data yang aman menulis cloud code untuk logika kustom, pemicu, dan integrasi eksternal mengonfigurasi otentikasi pengguna , login sosial, dan pengaturan ulang kata sandi menangani unggahan file dan menambahkan keamanan file opsional menjadwalkan tugas latar belakang dengan cloud jobs mengintegrasikan dengan layanan pihak ketiga melalui webhooks menjelajahi panel admin back4app untuk manajemen data yang lebih efisien dengan alat alat ini, anda dapat mengoptimalkan mode pengembangan, menskalakan sesuai kebutuhan, dan membangun aplikasi web yang kuat di play framework rangkul integrasi lebih lanjut, penyetelan kinerja, dan langkah langkah keamanan lanjutan untuk membawa backend server anda ke tingkat berikutnya langkah selanjutnya tingkatkan pengaturan produksi anda dengan alat caching, logging, atau monitoring jelajahi keamanan tingkat lanjut dengan kontrol akses berbasis peran atau pengaturan zero trust integrasikan gateway pembayaran atau api pihak ketiga lainnya untuk perdagangan atau analitik periksa dokumentasi resmi back4app untuk wawasan lebih dalam tentang kinerja dan pemecahan masalah tinjau lebih banyak tutorial tentang aplikasi obrolan waktu nyata, solusi iot, atau layanan berbasis lokasi — banyak di antaranya membangun teknik dalam panduan ini