Data Source REST API

Pengantar

Digunakan untuk mengintegrasikan data dari sumber REST API.

Instalasi

Plugin ini adalah plugin komersial. Untuk cara aktivasi detail, harap lihat: Panduan Aktivasi Plugin Komersial

Menambahkan Sumber REST API

Setelah plugin diaktifkan, pilih REST API pada dropdown Add new di manajemen data source.

20240721171420

Konfigurasi sumber REST API

20240721171507

Menambahkan Collection

Resource RESTful adalah Collection NocoBase, contohnya resource Users

GET /users
POST /users
GET /users/1
PUT /users/1
DELETE /users/1

Pemetaan ke konfigurasi NocoBase API adalah

GET /users:list
POST /users:create
POST /users:get?filterByTk=1
POST /users:update?filterByTk=1
POST /users:destroy?filterByTk=1

Spesifikasi desain NocoBase API lengkap dapat dilihat di dokumentasi API

20240716213344

Lihat bagian "NocoBase API - Core"

20240716213258

Konfigurasi Collection data source REST API sebagai berikut

List

Konfigurasi pemetaan endpoint untuk melihat daftar resource

20251201162457

Get

Konfigurasi pemetaan endpoint untuk melihat detail resource

20251201162744

Create

Konfigurasi pemetaan endpoint untuk membuat resource

20251201163000

Update

Konfigurasi pemetaan endpoint untuk update resource 20251201163058

Destroy

Konfigurasi pemetaan endpoint untuk menghapus resource

20251201163204

Di antaranya, List dan Get adalah dua endpoint yang wajib dikonfigurasi.

Debug API

Mapping Parameter Request

Contoh: Mengonfigurasi parameter pagination untuk endpoint List (jika API pihak ketiga sendiri tidak mendukung pagination, maka pagination dilakukan dengan data daftar yang diambil).

20251201163500

Perhatikan, hanya variabel yang sudah ditambahkan di endpoint yang akan berlaku.

Nama Parameter Integrasi API Pihak KetigaParameter NocoBase
page{{request.params.page}}
limit{{request.params.pageSize}}

Anda dapat mengklik Try it out untuk debug, dan melihat hasil respons.

20251201163635

Konversi Format Respons

Format respons API pihak ketiga mungkin tidak sesuai dengan standar NocoBase. Perlu dikonversi sebelum dapat ditampilkan dengan benar di front-end.

20251201164529

Sesuaikan aturan konversi sesuai format respons API pihak ketiga, agar sesuai dengan standar output NocoBase.

20251201164629

Penjelasan alur debug

20240717110051

Konversi Informasi Exception

Saat API pihak ketiga mengalami exception, format informasi exception yang direspons mungkin tidak sesuai dengan standar NocoBase. Perlu dikonversi sebelum dapat ditampilkan dengan benar di front-end.

20251201170545

Saat konversi informasi exception belum dikonfigurasi, secara default akan dikonversi menjadi informasi exception yang berisi http status code.

20251201170732

Setelah konversi informasi exception dikonfigurasi, agar sesuai dengan standar output NocoBase, front-end dapat menampilkan informasi exception API pihak ketiga dengan benar.

20251201170946 20251201171113

Variabel

Data Source REST API menyediakan tiga jenis variabel untuk integrasi endpoint

  • Variabel Custom Data Source
  • Request NocoBase
  • Respons Pihak Ketiga

Variabel Custom Data Source

20240716221937

20240716221858

Request NocoBase

  • Params: Search Params (Query Parameter URL), Params untuk setiap endpoint berbeda;
  • Headers: Body request, terutama menyediakan beberapa informasi X- custom NocoBase;
  • Body: Body request;
  • Token: API token dari request NocoBase saat ini.

20251201164833

Respons Pihak Ketiga

Saat ini hanya tersedia Body respons

20251201164915

Variabel yang dapat digunakan saat integrasi setiap endpoint sebagai berikut:

List

ParameterDeskripsi
request.params.pageHalaman saat ini
request.params.pageSizeJumlah per halaman
request.params.filterKondisi filter (perlu sesuai format Filter NocoBase)
request.params.sortAturan sort (perlu sesuai format Sort NocoBase)
request.params.appendsField yang dimuat sesuai kebutuhan, biasanya untuk pemuatan field relasi sesuai kebutuhan
request.params.fieldsField mana saja yang dikeluarkan endpoint (whitelist)
request.params.exceptField mana saja yang dikecualikan (blacklist)

Get

ParameterDeskripsi
request.params.filterByTkWajib, biasanya berupa ID data saat ini
request.params.filterKondisi filter (perlu sesuai format Filter NocoBase)
request.params.appendsField yang dimuat sesuai kebutuhan, biasanya untuk pemuatan field relasi sesuai kebutuhan
request.params.fieldsField mana saja yang dikeluarkan endpoint (whitelist)
request.params.exceptField mana saja yang dikecualikan (blacklist)

Create

ParameterDeskripsi
request.params.whiteListWhitelist
request.params.blacklistBlacklist
request.bodyData inisialisasi yang dibuat

Update

ParameterDeskripsi
request.params.filterByTkWajib, biasanya berupa ID data saat ini
request.params.filterKondisi filter (perlu sesuai format Filter NocoBase)
request.params.whiteListWhitelist
request.params.blacklistBlacklist
request.bodyData yang diupdate

Destroy

ParameterDeskripsi
request.params.filterByTkWajib, biasanya berupa ID data saat ini
request.params.filterKondisi filter (perlu sesuai format Filter NocoBase)

Konfigurasi Field

Dari data endpoint CRUD resource yang diadaptasi, ekstrak metadata field (Fields) sebagai field collection.

20240716223636

Ekstrak metadata field.

20251201165133

Field dan pratinjau.

20240716224403

Edit field (mirip dengan cara di data source lain).

20240716224704

Menambahkan Block Data Source REST API

Setelah Collection dikonfigurasi, Anda dapat pergi ke antarmuka untuk menambahkan block.

20240716225120