Products and Features
- Membuka Akses Ping pada IP Public VM Cloud Raya
- Maximize Your Storage Raya Access Speed with Content Delivery Network (CDN)
- How to Create Project Tag in Cloud Raya for More Organized VM Billing Report
- Exporting Cloud Raya VM to outer Cloud Raya's Infrastructure using Acronis Cyber Protect
- SSO Management on Cloud Raya
- Easy Steps to Enable VPC in Cloud Raya
- Using the SSH key Feature in Cloud Raya Dashboard
- Cloud Raya Load Balancer, Solution to Distribute Load Equally
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- Fix Broken LetsEncrypt SSL Certificate due to Expired Root CA Certificate
- Storage Raya - Cloud Raya S3 Object Storage
- How to Make a Snapshot and Configure VM Backup in Cloud Raya
- How to Request Services or Licenses Products
- Adding, Attaching, and Resize Root Storage Disk in Cloud Raya VPS
- Managing your DNS Zone with DNS Bucket in Cloud Raya
- Create VM, Custom Package, Reinstall VM, and Adjusting Security Profile
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Backing-Up Cloud Raya Windows VM Using Acronis Cyber Protect
- Load Balancing in Cloud Raya
- Establishing a VPN in Cloud Raya
- Generating an API Token
- Generating an API key
- Deploying a Virtual Machine in Cloud Raya
- Show Remaining Articles ( 9 ) Collapse Articles
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Maximize Your Storage Raya Access Speed with Content Delivery Network (CDN)
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Storage Raya - Cloud Raya S3 Object Storage
- Deploy Cpanel Menggunakan Ubuntu 20.04 di Cloudraya - Bagian 1
- Exporting Cloud Raya VM to outer Cloud Raya's Infrastructure using Acronis Cyber Protect
- Using the SSH key Feature in Cloud Raya Dashboard
- Adding, Attaching, and Resize Root Storage Disk in Cloud Raya VPS
- Create VM, Custom Package, Reinstall VM, and Adjusting Security Profile
- How to backup Linux VM via Acronis in Cloud Raya
- Backing-Up Cloud Raya Windows VM Using Acronis Cyber Protect
- Deploying a Virtual Machine in Cloud Raya
Integration
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Replatforming Apps to K8s with RKE and GitLab CI
- Integrasi API OpenAI: Completions dalam PHP
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Meningkatkan Pengiriman Email dengan Sendinblue SMTP Relay
- Bangun Self Hosted Password Manager menggunakan Passbolt
- How to Install Podman on Almalinux/Rocky Linux 9
- ElkarBackup: GUI Based backup Tools based on Rsync and Rsnapshot
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Otomatisasi Task dengan Cronjob
- Upgrade Zimbra and the OS Version
- Deploy Mailu on Rancher Kubernetes
- Export dan Import Database di MySQL atau MariaDB Menggunakan Mysqldump
- Backup & Sync Local and Remote Directories Using RSYNC
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Simple monitoring and alerting with Monit on Ubuntu 22.04 LTS
- VS Code on your browser! How to install code-server on a VM
- Implementing Redis HA and Auto-Failover on Cloud Raya
- Using XFCE Desktop Environment on Cloud Raya VM
- Installing Python 3.7-3.9 on Ubuntu 22.04 Jammy LTS using PPA
- Implementing Continuous Integration with Gitlab CI and Continuous Delivery with Rancher Fleet
- Using Collabora Online on Cloud Raya NextCloud's VM
- Installing NextCloud in Cloud Raya- Detail Steps from the Beginning to the Very End
- Set Up High Availability PostgreSQL Cluster Using Patroni on Cloud Raya
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Using the SSH key Feature in Cloud Raya Dashboard
- Monitor Your Services Uptime Using Uptime Kuma
- Hosting Static Website with Hugo on Cloud Raya
- Kubernetes Ingress Controller using SSL in CloudRaya
- Reverse Proxy management using Nginx Proxy Manager
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- How to deploy Portainer on Linux to easily manage your docker containers
- High Availability Kubernetes Using RKE in Cloud Raya Part 3
- High Availability Kubernetes Using RKE in Cloud Raya Part 2
- High Availability Kubernetes Using RKE in Cloud Raya Part 1
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Deploying Magento on Cloud Raya
- How to Install Nextcloud on Cloud Raya
- How to Install CWP in Cloud Raya
- How to Install Node.js and Launch Your First Node App
- How to install and secure MariaDB on Ubuntu 18.04 and 20.04 on Cloud Raya
- How to Install and Securing MongoDB on Ubuntu 18.04 and 20.04
- Classes: Post Installation on Ansible
- Classes: Install and Configure Ansible
- Classes: Introduction to Ansible for a robust Configuration Management
- How to Setup Active Directory Domain Service & DNS with Cloud Raya
- How to Host Your Own Docker Hub in Cloud Raya
- How to Setup Your Own Laravel with Nginx in Ubuntu 18.04
- How to Deploy Container in Cloud Raya using Docker
- Securing CentOS with iptables
- Install and Configure Squid Proxy in Ubuntu
- Installing Apache and Tomcat: A Quick Way
- Securing Ubuntu with UFW
- Install a Node.js and Launch a Node App on Ubuntu 18.04
- Installing LAMP in Ubuntu
- Installing LEMP Stack on Ubuntu 18.04
- Show Remaining Articles ( 50 ) Collapse Articles
- Articles coming soon
- Deploy Cpanel Menggunakan Ubuntu 20.04 di Cloudraya - Bagian 1
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Meningkatkan Pengiriman Email dengan Sendinblue SMTP Relay
- Bangun Self Hosted Password Manager menggunakan Passbolt
- ElkarBackup: GUI Based backup Tools based on Rsync and Rsnapshot
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Upgrade Zimbra and the OS Version
- Deploy Mailu on Rancher Kubernetes
- Managing Storage Raya from various tools and from various OS
- Binding NextCloud with Cloud Raya S3 Object Storage as External Storage Mount
- Simple monitoring and alerting with Monit on Ubuntu 22.04 LTS
- VS Code on your browser! How to install code-server on a VM
- Implementing Redis HA and Auto-Failover on Cloud Raya
- Using XFCE Desktop Environment on Cloud Raya VM
- Implementing Continuous Integration with Gitlab CI and Continuous Delivery with Rancher Fleet
- Using Collabora Online on Cloud Raya NextCloud's VM
- Installing NextCloud in Cloud Raya- Detail Steps from the Beginning to the Very End
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Monitor Your Services Uptime Using Uptime Kuma
- Create your own VPN server with DNS-Level AdBlocker using PiVPN & PiHole in CloudRaya
- How to deploy Portainer on Linux to easily manage your docker containers
- High Availability Kubernetes Using RKE in Cloud Raya Part 3
- High Availability Kubernetes Using RKE in Cloud Raya Part 2
- High Availability Kubernetes Using RKE in Cloud Raya Part 1
- How to Install Nextcloud on Cloud Raya
- Classes: Post Installation on Ansible
- Classes: Install and Configure Ansible
- Classes: Introduction to Ansible for a robust Configuration Management
- Connect Windows Active Directory on Cloud Raya with Azure AD
- How to Host Your Own Docker Hub in Cloud Raya
- How to Deploy Container in Cloud Raya using Docker
- Show Remaining Articles ( 23 ) Collapse Articles
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Integrasi API OpenAI: Completions dalam PHP
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Otomatisasi Task dengan Cronjob
- How to Deploy Django App on Cloud Raya VM Using Gunicorn, Supervisor, and Nginx
- How to Install Node.js and Launch Your First Node App
- How to Setup Your Own Laravel with Nginx in Ubuntu 18.04
- Install a Node.js and Launch a Node App on Ubuntu 18.04
- Panduan Menggunakan SSH Key pada VM Cloud Raya dengan PuTTY
- Bangun Self Hosted Password Manager menggunakan Passbolt
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Export dan Import Database di MySQL atau MariaDB Menggunakan Mysqldump
- Backup & Sync Local and Remote Directories Using RSYNC
- How to Deploy Django App on Cloud Raya VM Using Gunicorn, Supervisor, and Nginx
- Set Up WAF KEMP in Cloud Raya Part 2
- Set Up WAF KEMP in Cloud Raya Part 1
- Using the SSH key Feature in Cloud Raya Dashboard
- How to backup Linux VM via Acronis in Cloud Raya
- How to Backup Desktop Linux and Windows via Acronis in Cloud Raya
- Securing CentOS with iptables
- Securing Ubuntu with UFW
- Deploy Cpanel Menggunakan Ubuntu 20.04 di Cloudraya - Bagian 1
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Membangun Email Server di Cloud Raya Menggunakan iRedMail
- Bangun Self Hosted Password Manager menggunakan Passbolt
- Meningkatkan Kinerja Webserver dengan SSL Termination pada NGINX Load Balancer
- Menggunakan NGINX sebagai HTTP Load Balancer
- Installing Python 3.7-3.9 on Ubuntu 22.04 Jammy LTS using PPA
- Reverse Proxy management using Nginx Proxy Manager
- Install and Configure Squid Proxy in Ubuntu
- Installing Apache and Tomcat: A Quick Way
- Installing LAMP in Ubuntu
- Installing LEMP Stack on Ubuntu 18.04
- Show Remaining Articles ( 2 ) Collapse Articles
- Integrasi S3 Storage Raya dan Strapi untuk Pengoptimalan Penyimpanan Aset - Bag. 4
- Integrasi Konten Strapi ke dalam Frontend React - Bag. 3
- Mengelola Konten dalam Strapi Headless CMS - Bag. 2
- Menginstal Strapi Headless CMS di Cloud Raya - Bag. 1
- Integrasi API OpenAI untuk Membangun Chatbot Interaktif dalam Proyek PHP
- Menginstal Beberapa Versi PHP dalam Satu VM untuk Pengembangan Web yang Lebih Fleksibel
- Integrasi API OpenAI: Completions dalam PHP
- Hosting Static Website with Hugo on Cloud Raya
- Deploying Magento on Cloud Raya
- How to Install CWP in Cloud Raya
- How to Setup Active Directory Domain Service & DNS with Cloud Raya
Mengelola Konten dalam Strapi Headless CMS – Bag. 2
Setelah berhasil menginstal Strapi sesuai dengan panduan yang telah dijelaskan dalam tutorial sebelumnya, kita siap melangkah ke tahap berikutnya: membuat konten dalam platform ini. Tutorial ini akan membahas langkah-langkah yang perlu diambil untuk mulai menciptakan berbagai jenis konten di dalam Strapi serta bagaimana mengaksesnya melalui platform pengujian API, yaitu Postman.
Membuat Kerangka Konten
Pertama-tama kita membuat kerangka kontennya terlebih dahulu pada Content-Type Builder.
Kita bisa mengibaratkan Content-type(jenis konten) seperti kerangka untuk suatu konten. Di dalam kerangka konten, kita mendefinisikan berbagai bidang yang harus ada dalam konten dan dengan jenis data yang sesuai.
Misalnya, dalam tutorial ini kita ingin membuat kerangka konten “Website Artikel“, maka setidaknya kita harus menentukan bidang seperti “judul artikel”, dan “isi artikel” dengan jenis data masing-masing, misalnya text field. Setelah kerangka ini dibuat, kita dapat dengan mudah mengisi konten sesungguhnya ke dalam kerangka tersebut.
Dalam menu Content-Type Builder, Strapi menyediakan tiga contoh jenis kerangka konten berdasarkan fungsionalitasnya:
Collection Types (Jenis Koleksi)
Jenis ini cocok digunakan untuk mengelola konten dengan karakteristik serupa yang memiliki lebih dari satu jenis. Contohnya, pada sebuah situs web artikel, akan terdapat banyak artikel dengan judul dan isi yang berbeda-beda. Pada kasus ini, Collection Types digunakan untuk membuat jenis konten “Artikel” yang mencakup banyak artikel.Single Types (Jenis Tunggal)
Jenis ini cocok untuk mengelola konten unik yang hanya memiliki satu jenis dalam situs. Sebagai contoh, halaman beranda situs yang hanya ada satu dan memiliki “Judul” serta bagian “About Us”. Single Types digunakan untuk membuat jenis konten “Halaman Beranda.”Components (Komponen)
Komponen adalah kumpulan field yang dapat digunakan berulang kali di berbagai jenis kerangka konten. Misalnya, jika beberapa jenis kerangka konten memiliki field yang sama, Anda dapat membuat “komponen” untuk mengelompokkan field tersebut.
Untuk memperdalam pemahaman tentang ketiga jenis kerangka konten ini, silakan akses halaman berikut.
Membuat Kerangka Konten dengan jenis Collection Type
Untuk membuat konten Artikel, kita akan menggunakan “Collection Type.”
Klik ‘Create new collection type’ dan beri “Display Name” untuknya. Pastikan menamai singular, tidak plural, karena Strapi secara otomatis akan membuat plural untuk kita. Sebagai contoh, kita akan menamainya ‘article
‘, dan kemudian klik ‘Continue‘.
Selanjutnya, kita perlu mendefinisikan berbagai field yang berbeda di dalamnya.
Pertama, kita ingin memiliki field judul dengan jenis teks pendek, maka klik ‘Text‘.
title
‘ pada field ini.Jika perlu, kita juga dapat mengatur nilai default, membuatnya menjadi field wajib, atau field unik agar tidak ada dua judul artikel yang sama.
Jika sudah, klik ‘+ Add another field‘.
Selanjutnya, tambahkan field ‘body
‘ sebagai isi artikel, dan pilih jenis “Rich Text” agar kita dapat menambahkan format seperti teks tebal, teks bergaris bawah, multimedia dan beberapa lainnya.
Setelah mengatur semua field yang diperlukan, klik ‘Finish‘.
Dan simpan perubahan dengan klik ‘Save‘.
Mengisi Konten
Sekarang kita sudah memiliki kerangka konten untuk menampilkan Artikel-artikel kita.
Untuk mulai mengisi konten artikelnya, buka ‘Content Manager’, kemudian klik ‘Add new entry‘ pada kerangka konten ‘article” yang baru saja kita buat.
Isilah konten artikel dengan data yang sesuai, seperti judul, dan isi artikel. Jika sudah, klik ‘Save‘ dan pastikan untuk ‘Publish‘ konten agar dapat ditampilkan pada output.
Konfigurasi Pengguna & Izin Akses Data Konten
Setelah kita memiliki konten artikel yang ingin ditampilkan, langkah selanjutnya adalah mengatur izin akses data sebelum dapat diakses oleh publik. Dengan mengikuti langkah-langkah berikut, kita dapat memastikan bahwa data konten hanya dapat diakses oleh pengguna yang memiliki izin yang sesuai.
Untuk mengatur konfigurasi ini, kembali ke panel Strapi, lalu pergi ke ‘Settings’ -> ‘Users & Permissions Plugin’ -> ‘Roles.’
Perlu diingat bahwa di sini ada dua menu “Roles”, yaitu roles di Administration Panel dan roles di Users & Permissions Plugin.
Roles di Administration Panel
- Digunakan untuk mengelola izin terkait administrasi Strapi.
- Pengguna ini memiliki akses ke panel administrasi Strapi.
- Terdapat tiga tipe: Author, Editor, dan Super Admin, dengan hak akses yang berbeda.
Roles di Users & Permissions Plugin
- Pengguna ini dapat login ke aplikasi tetapi tidak memiliki akses ke panel administrasi Strapi.
- Mereka dibatasi oleh apa yang ditampilkan di bagian frontend aplikasi saja.
- Terdapat dua tipe: Authenticated, dan Public
Perbedaan antara kedua jenis pengguna ini terletak pada peran dan akses yang mereka miliki. “Roles di Administration Panel” digunakan untuk mengelola izin terkait administrasi Strapi itu sendiri, sedangkan “Users & Permissions Plugin” digunakan untuk mengelola izin terkait akses dan manipulasi data oleh pengguna eksternal melalui frontend aplikasi saja.
Untuk kasus ini, kita akan menggunakan roles di “Users & Permissions Plugin.”
Klik pada ‘Public‘, yang merupakan peran untuk semua pengunjung yang browsing ke situs kita tanpa melakukan login.
Anda akan melihat daftar semua jenis konten di sini, termasuk yang baru saja kita buat yaitu ‘Article.’ Pilihan tersebut akan secara otomatis bertambah jika Anda membuat jenis konten baru.
Yang perlu kita lakukan sekarang adalah mencentang kotak yang memungkinkan akses publik. Dalam hal ini, kita hanya akan mencentang “Find” dan “FindOne.” Dengan demikian, orang publik hanya dapat melihat data yang ada di dalam konten “Article.”
Berinteraksi dengan Konten Menggunakan Postman
Oke, setelah memiliki konten dan mengatur izin publiknya, tujuan akhir kita adalah ingin memanggil dan berinteraksi dengan data artikel ini melalui frontend website agar dapat diakses oleh pengunjung publik.
Namun, untuk memulai, saya ingin kita melakukan uji coba pada endpoint menggunakan Postman. Postman adalah alat gratis yang luar biasa yang berguna untuk menguji endpoint REST API kita dan melakukan berbagai jenis permintaan CRUD (Create, Read, Update, Delete).
Buka Postman dan buat “Collection” baru dengan nama semisal ‘Strapi
.’
Lanjutkan dengan membuat permintaan API baru di dalamnya.
Pastikan permintaan API tersebut sesuai dengan kebutuhan pengujian yang ingin kita lakukan. Misalnya, jika ingin menguji fungsi pembuatan data baru, kita dapat membuat permintaan POST. Atau jika ingin mengambil data yang sudah ada, kita dapat membuat permintaan GET.
Menampilkan Data
▶ Banyak Data
Sebagai contoh pertama, kita akan mencoba “Get Articles” dengan menggunakan metode GET.
URL permintaan (Request URL) terdiri dari endpoint dari server Strapi yang kita gunakan, ditambah dengan URL dari jenis konten yang ingin kita akses, seperti ini:
GET http://163.53.195.233:1337/api/articles
Kemudian klik ‘Send‘.
Maka output dari respons API tersebut akan ditampilkan.
▶ Single Data
Sekarang, untuk memanggil data tunggal, kita dapat menggunakan endpoint berikut:
GET http://163.53.195.233:1337/api/articles/1
Dengan menggunakan URL endpoint di atas, kita akan mendapatkan data artikel dengan ID “1”. Pastikan ID yang Anda masukkan sesuai dengan ID yang benar untuk artikel yang ingin Anda akses.
▶ Field Tertentu
Untuk mengambil data dengan hanya memilih beberapa field tertentu, kita bisa mengganti URL endpoint dengan menambahkan parameter ‘fields
.’ Misalnya, untuk menampilkan hanya field “title
“, “body
“, dan “publishedAt
“, gunakan endpoint seperti berikut:
GET http://163.53.195.233:1337/api/articles?fields=title&fields=body&fields=publishedAt
▶ Relasi Antar Konten
Dalam konsep situs artikel, baiknya setiap artikel dapat memiliki banyak kategori di dalamnya. Untuk mencapai ini, kita perlu membuat relasi antara ‘Content-Type Article’ dengan ‘Content-Type Category.’
Kita perlu membuat content-type baru yaitu ‘Category
‘ dengan kerangka konten yang sesuai.
Dan mengisi kontennya melalui ‘Content Manager.’
Setelah itu, kita masuk kembali ke ‘Content-Type Builder’, pada Article, kita klik ‘Add another field‘, kemudian pilih ‘Relation.’
Kita akan menggunakan tipe relasi ‘Many to Many,’ karena setiap artikel dapat terhubung dengan banyak kategori, dan sebaliknya. Jika Anda sudah mengenal relasi di dalam sistem pengelolaan database, maka tipe relasi ini akan terasa familiar.
Setelah selesai, klik ‘Finish‘ dan simpan perubahan.
Sekarang, kita bisa mencoba mengedit konten artikel yang telah kita buat sebelumnya.
Pada bagian bawah halaman, akan muncul field untuk memilih kategori yang akan dihubungkan dengan artikel tersebut sesuai kebutuhan.
Jika kita ingin melakukan pengembangan relasi lainnya, kita dapat menambahkan relasi sesuai dengan kebutuhan kita.
▶ Pengunaan Populate
Dalam operasi dasar REST API Strapi, secara default tidak akan melakukan populate pada relasi, media fields, komponen, atau zona dinamis untuk alasan performa.
Pertama-tama, pastikan sudah membuka Public permissions untuk jenis konten ‘Category’ seperti di section sebelumnya.
Untuk melakukan populate, kita perlu memodifikasi URL endpoint-nya.
- Untuk menampilkan data category yang terhubung di dalam tiap artikel, gunakan URL ini:
GET http://163.53.195.233:1337/api/articles?populate=categories
- Jika memiliki banyak relasi dalam konten artikel dan ingin mempopulate one level deep(satu level kedalam) semua relasi tersebut, gunakan wildcard (*) seperti ini:
GET http://163.53.195.233:1337/api/articles?populate=*
Strapi juga mendukung populate hingga beberapa level yang lebih dalam. Dokumentasinya dapat dilihat di link berikut.
Dengan menggunakan populate, Anda dapat mengambil data yang lebih lengkap dan terhubung dari berbagai relasi dengan lebih efisien.
▶ Kombinasi Population dengan Operator Lain
Dalam Strapi, kita dapat menggabungkan operasi populate dengan beberapa operator lainnya untuk mendapatkan hasil data yang lebih spesifik. Hal ini memungkinkan kita untuk memfilter data yang akan ditampilkan sesuai dengan kebutuhan kita.
Misalnya, jika kita ingin menampilkan artikel dengan kolom “judul”, “isi artikel”, dan “tanggal dipublikasi”, serta menggabungkannya dengan data kategori hanya dengan kolom “nama kategori”, kita dapat menggunakan endpoint berikut:
GET http://163.53.195.233:1337/api/articles?fields=title&fields=body&fields=publishedAt&populate[categories][fields]=name
Dengan menggunakan endpoint ini, kita akan mendapatkan hasil data artikel yang telah difilter sesuai dengan field yang diinginkan, dan data kategori yang hanya akan menampilkan kolom “nama kategori.”
Selain itu, kita juga dapat menggunakan beberapa level populate dengan menambahkan parameter tambahan. Misalnya, jika kita ingin menggabungkan lebih dalam dengan level populate kedua, kita dapat menggunakan endpoint berikut:
GET http://163.53.195.233:1337/api/articles?fields=title&fields=body&fields=publishedAt&populate[categories][populate][0]=subcategories
Kita bisa memanfaatkan tool “✨Interactive Query Builder” dari Strapi untuk menghasilkan URL query yang lebih kompleks, daripada kita menulisnya secara manual.
Mengelola Data
Untuk memasukkan data ke dalam aplikasi Strapi, sebaiknya hanya pengguna yang sudah terautentikasi yang diizinkan, sesuai dengan pembahasan pada bagian ‘Role’ seperti yang telah kita ketahui di atas.
Sebagai contoh, di sini saya telah membuat Content-Type “Comment“, di mana saya telah mengatur role “Authenticated” menjadi seperti ini. Hal ini dilakukan karena saya ingin hanya pengguna yang sudah terotentikasi yang dapat menulis komentar untuk artikel.
Tabel “User” adalah tabel yang digunakan untuk menyimpan data pengguna yang sudah terautentikasi di aplikasi kita. Di dalam tabel ini, informasi pengguna seperti username, email, dan password akan disimpan dan dapat diakses untuk proses otentikasi.
▶ Mendaftarkan Pengguna
Untuk mendaftarkan pengguna terotentikasi, kita akan menggunakan endpoint berikut.
POST http://163.53.195.233:1337/api/auth/local/register
Dan gunakan format data berikut dalam Request Body Postman:
{
"username" : "Commenter 1",
"email" : "commenter1@comment.com",
"password" : "password123"
}
Dalam permintaan POST ini, kita harus menyertakan kredensial pengguna seperti username, email, dan password sebagai data input.
Setelah permintaan berhasil, Strapi akan mengenkripsi password dan menyimpan data pengguna baru di tabel “User.”
Setelah berhasil mendaftar dan data disimpan di tabel “User,” pada respons API juga akan dihasilkan JSON Web Token (JWT) untuk pengguna tersebut.
JWT harus disimpan dengan aman karena akan digunakan untuk mengidentifikasi dan mengautentikasi pengguna pada permintaan API selanjutnya. JWT akan dijadikan bagian dari header permintaan API sebagai Bearer Token untuk melakukan tindakan yang membutuhkan otentikasi di aplikasi.
▶ Menambahkan Data
Coba kita sekarang menambahkan komentar di Artikel dengan endpoint berikut:
POST http://163.53.195.233:1337/api/comments
Kemudian gunakan format data berikut pada Request Body:
{
"data": {
"comment" : "bagus, keep up the good work",
"article" : 1
}
}
Tuju ke tab ‘Auth’, kemudian pilih “Bearer Token” pada opsi “Type”, dan isikan JWT pada isian yang tersedia. Setelah itu, klik ‘Send‘ jika sudah selesai.
Terpantau data komentar berhasil tertambahkan.
Tak ada salahnya bagi Anda yang tertarik dengan konsep kerja Strapi untuk membaca dokumentasi lebih lengkapnya. Anda dapat menemukan informasi intro di sini:
Untuk informasi lebih spesifik tentang aktivitas CRUD yang dapat dilakukan dengan REST API Strapi, Anda bisa melihat pada dokumentasi berikut:
- CRUD dengan REST API Strapi: https://docs.strapi.io/dev-docs/api/rest/
Kesimpulan
Dalam tutorial ini, kita telah memahami langkah-langkah untuk membuat dan mengelola berbagai jenis konten menggunakan Strapi.
Selain itu, kita juga mengenal Postman sebagai alat uji untuk berinteraksi dengan endpoint REST API Strapi.
Kita akan melanjutkan seri tutorial Strapi ini dengan fokus selanjutnya pada mengimplementasikan data dari backend Strapi ke frontend menggunakan React.
Jika Anda belum mengenal atau belum familiar dengan Strapi, jangan khawatir, ada tutorial sebelumnya yang membahas dasar-dasarnya.
Untuk tutorial lain seputar pemanfaatan Cloud Raya, Anda dapat mengeksplorasi halaman Knowledge Base kami.