Sumber Data REST API

Pengenalan

Digunakan untuk menghubungkan data dari sumber REST API.

Penginstalan

Plugin ini merupakan plugin komersial. Untuk mengetahui cara aktivasinya secara lengkap, silakan lihat: Panduan Aktivasi Plugin Komersial

Menambahkan Sumber REST API

Setelah plugin diaktifkan, pilih REST API dari menu dropdown Add new di pengelolaan sumber data.

20240721171420

Mengonfigurasi sumber REST API

20240721171507

Menambahkan Collection

Resource RESTful merupakan Collection di NocoBase, misalnya resource Users.

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

Konfigurasi pemetaannya di NocoBase API adalah

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

Untuk spesifikasi lengkap desain NocoBase API, lihat dokumentasi API

20240716213344

Lihat bab 「NocoBase API - Core」

20240716213258

Konfigurasi Collection sumber data REST API adalah sebagai berikut

List

Konfigurasikan pemetaan endpoint untuk melihat daftar resource

20251201162457

Get

Konfigurasikan pemetaan endpoint untuk melihat detail resource

20251201162744

Create

Konfigurasikan pemetaan endpoint untuk membuat resource

20251201163000

Update

Konfigurasikan pemetaan endpoint untuk memperbarui resource 20251201163058

Destroy

Konfigurasikan pemetaan endpoint untuk menghapus resource

20251201163204

List dan Get adalah dua endpoint yang wajib dikonfigurasi.

Menguji API

Menghubungkan parameter permintaan

Contoh: mengonfigurasi parameter pagination untuk endpoint List (jika API pihak ketiga tidak mendukung pagination, pagination dilakukan berdasarkan data daftar yang diperoleh).

20251201163500

Perhatikan bahwa hanya variabel yang telah ditambahkan di dalam endpoint yang akan berlaku.

Nama parameter integrasi API pihak ketigaParameter NocoBase
page{{request.params.page}}
limit{{request.params.pageSize}}

Klik Try it out untuk melakukan pengujian dan melihat hasil respons.

20251201163635

Konversi format respons

Format respons API pihak ketiga mungkin tidak sesuai dengan standar NocoBase. Konversi perlu dilakukan agar dapat ditampilkan dengan benar di frontend.

20251201164529

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

20251201164629

Penjelasan alur pengujian

20240717110051

Konversi informasi kesalahan

Jika terjadi kesalahan pada API pihak ketiga, format informasi kesalahan dalam respons mungkin tidak sesuai dengan standar NocoBase. Konversi perlu dilakukan agar dapat ditampilkan dengan benar di frontend.

20251201170545

Jika konversi informasi kesalahan belum dikonfigurasi, secara default informasi tersebut akan dikonversi menjadi informasi kesalahan yang menyertakan kode status HTTP.

20251201170732

Setelah konversi informasi kesalahan dikonfigurasi agar sesuai dengan standar output NocoBase, frontend dapat menampilkan informasi kesalahan dari API pihak ketiga dengan benar.

20251201170946 20251201171113

Variabel

Sumber data REST API menyediakan tiga jenis variabel untuk menghubungkan endpoint

  • Variabel kustom sumber data
  • Permintaan NocoBase
  • Respons pihak ketiga

Variabel kustom sumber data

20240716221937

20240716221858

Permintaan NocoBase

  • Params: parameter kueri URL (Search Params); Params setiap endpoint dapat berbeda;
  • Headers: header permintaan, terutama menyediakan beberapa informasi X- kustom NocoBase;
  • Body: Body permintaan;
  • Token: API token dari permintaan NocoBase saat ini.

20251201164833

Respons pihak ketiga

Saat ini yang tersedia hanya Body respons

20251201164915

Variabel yang tersedia saat menghubungkan setiap endpoint adalah sebagai berikut:

List

ParameterKeterangan
request.params.pageNomor halaman saat ini
request.params.pageSizeJumlah item per halaman
request.params.filterKondisi filter (harus sesuai format Filter NocoBase)
request.params.sortAturan pengurutan (harus sesuai format Sort NocoBase)
request.params.appendsKolom yang dimuat sesuai kebutuhan, biasanya digunakan untuk memuat kolom relasi sesuai kebutuhan
request.params.fieldsKolom yang hanya akan dikeluarkan oleh endpoint (daftar putih)
request.params.exceptKolom yang harus dikecualikan (daftar hitam)

Get

ParameterKeterangan
request.params.filterByTkWajib diisi, biasanya merupakan ID data saat ini
request.params.filterKondisi filter (harus sesuai format Filter NocoBase)
request.params.appendsKolom yang dimuat sesuai kebutuhan, biasanya digunakan untuk memuat kolom relasi sesuai kebutuhan
request.params.fieldsKolom yang hanya akan dikeluarkan oleh endpoint (daftar putih)
request.params.exceptKolom yang harus dikecualikan (daftar hitam)

Create

ParameterKeterangan
request.params.whiteListDaftar putih
request.params.blacklistDaftar hitam
request.bodyData awal pembuatan

Update

ParameterKeterangan
request.params.filterByTkWajib diisi, biasanya merupakan ID data saat ini
request.params.filterKondisi filter (harus sesuai format Filter NocoBase)
request.params.whiteListDaftar putih
request.params.blacklistDaftar hitam
request.bodyData yang diperbarui

Destroy

ParameterKeterangan
request.params.filterByTkWajib diisi, biasanya merupakan ID data saat ini
request.params.filterKondisi filter (harus sesuai format Filter NocoBase)

Mengonfigurasi kolom

Ekstrak metadata kolom (Fields) dari data endpoint CRUD resource yang diadaptasi untuk digunakan sebagai kolom dalam collection.

20240716223636

Ekstrak metadata kolom.

20251201165133

Kolom dan pratinjau.

20240716224403

Edit kolom (caranya mirip dengan sumber data lainnya).

20240716224704

Menambahkan blok sumber data REST API

Setelah Collection selesai dikonfigurasi, Anda dapat menambahkan blok melalui antarmuka.

20240716225120