Bagikan melalui


Cara memanggil titik akhir REST

Penyusun API Data (DAB) menyediakan API web RESTful yang memungkinkan Anda mengakses tabel, tampilan, dan prosedur tersimpan dari database yang terhubung. Setiap objek database yang diekspos didefinisikan sebagai entitas dalam konfigurasi runtime.

Secara default, DAB menghosting titik akhir REST di:

https://{base_url}/api/{entity}

Nota

Semua komponen jalur dan parameter kueri sensitif terhadap huruf besar/kecil.

Kata kunci yang didukung di penyusun API Data

Konsep REST Tujuan
Projection $select Pilih bidang mana yang akan dikembalikan
Penyaringan $filter Membatasi baris menurut kondisi
Pengurutan $orderby Tentukan urutan pengurutan
Ukuran halaman $first Batasi jumlah item per halaman
Kelanjutan $after Lanjutkan dari halaman terakhir

Struktur dasar

Untuk memanggil REST API, buat permintaan menggunakan pola ini:

{HTTP method} https://{base_url}/{rest-path}/{entity}

Contoh membaca semua rekaman dari book entitas:

GET https://localhost:5001/api/book

Responsnya adalah objek JSON:

{
  "value": [
    { "id": 1, "title": "Dune" },
    { "id": 2, "title": "Foundation" }
  ]
}

Nota

Secara default, DAB mengembalikan hingga 100 item per kueri kecuali dikonfigurasi sebaliknya (runtime.pagination.default-page-size).

Jenis kueri

Setiap entitas REST mendukung pengumpulan dan pembacaan rekaman tunggal.

Operasi Deskripsi
GET /api/{entity} Mengembalikan daftar rekaman
GET /api/{entity}/{primary-key-column}/{primary-key-value} Mengembalikan satu rekaman menurut kunci primer

Contoh mengembalikan satu rekaman:

GET /api/book/id/1010

Contoh mengembalikan banyak:

GET /api/book

Memfilter hasil

$filter Gunakan parameter kueri untuk membatasi rekaman mana yang dikembalikan.

GET /api/book?$filter=title eq 'Foundation'

Kueri ini mengembalikan semua buku yang judulnya sama dengan "Foundation."

Filter dapat mencakup operator logis untuk kueri yang lebih kompleks:

GET /api/book?$filter=year ge 1970 or title eq 'Dune'

Lihat referensi argumen $filter untuk operator yang didukung seperti eq, ne, lt, le, and, dan or.

Mengurutkan hasil

Parameter $orderby menentukan bagaimana rekaman diurutkan.

GET /api/book?$orderby=year desc, title asc

Ini mengembalikan buku yang diurutkan berdasarkan year menurun, lalu berdasarkan title.

Lihat referensi argumen $orderby untuk detail selengkapnya.

Membatasi hasil {#first-and-after}

Parameter $first membatasi berapa banyak rekaman yang dikembalikan dalam satu permintaan.

GET /api/book?$first=5

Ini mengembalikan lima buku pertama, diurutkan berdasarkan kunci primer secara default. Anda juga dapat menggunakan $first=-1 untuk meminta ukuran halaman maksimum yang dikonfigurasi.

Pelajari selengkapnya dalam referensi argumen $first.

Melanjutkan hasil

Untuk mengambil halaman berikutnya, gunakan $after dengan token kelanjutan dari respons sebelumnya.

GET /api/book?$first=5&$after={continuation-token}

Token $after mengidentifikasi tempat kueri terakhir berakhir. Lihat referensi argumen $after untuk detailnya.

Pemilihan bidang (proyeksi)

Gunakan $select untuk mengontrol bidang mana yang disertakan dalam respons.

GET /api/book?$select=id,title,price

Ini hanya mengembalikan kolom yang ditentukan. Jika bidang hilang atau tidak dapat diakses, DAB mengembalikan 400 Bad Request.

Lihat referensi argumen $select untuk detailnya.

Memodifikasi data

REST API juga mendukung operasi buat, perbarui, dan hapus tergantung pada izin entitas.

Metode Tindakan
POST Membuat item baru
PUT Ganti item yang sudah ada (atau buat jika hilang)
PATCH Perbarui item yang sudah ada (atau buat jika hilang)
DELETE Menghapus item menurut kunci utama

Contoh membuat rekaman baru:

POST /api/book
Content-type: application/json

{
  "id": 2000,
  "title": "Leviathan Wakes"
}

Contoh memperbarui rekaman yang sudah ada:

PATCH /api/book/id/2000
Content-type: application/json

{
  "year": 2011,
  "pages": 577
}

Contoh menghapus rekaman:

DELETE /api/book/id/2000