Penomoran halaman

Penomoran halaman mengacu pada praktik memecah sekumpulan besar data menjadi gugus atau halaman yang lebih kecil dan dapat dikelola saat mengirimkan data ke aplikasi klien. Ini adalah teknik umum yang digunakan untuk meningkatkan performa dan efisiensi permintaan API, terutama saat berhadapan dengan sejumlah besar data. Penomoran halaman juga digunakan untuk mencegah kehilangan data ketika ada terlalu banyak data yang ditampilkan dalam satu gugus.

Bagaimana cara mengetahui apakah API dipaginasi?

API paginated di Microsoft Fabric mengandung parameter-parameter ini.

  • continuationUri

  • continuationToken

Di mana saya dapat menemukan parameter berhalaman?

Struktur respons API paginated berisi parameter continuationUri dan continuationToken dan terlihat seperti ini:

{
  "value": [
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  
      "displayName": "Lakehouse",
      "description": "A lakehouse used by the analytics team.",
      "type": "Lakehouse",
      "workspaceId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" 
    },
    {
      "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",  
      "displayName": "Notebook",
      "description": "A notebook for refining medical data analysis through machine learning algorithms.",
      "type": "Notebook",
      "workspaceId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy" 
    }
  ],
  "continuationToken": "ABCsMTAwMDAwLDA%3D",
  "continuationUri": "https://api.fabric.microsoft.com/v1/workspaces/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/items?continuationToken=ABCsMTAwMDAwLDA%3D"
}

Bagaimana penggunaan paginasi dalam FABRIC REST API?

Saat Anda membuat permintaan ke API yang dipaginasi, Anda menerima sekumpulan rekaman, biasanya di bawah nilai properti . Rekaman mencakup parameter continuationUri dan continuationToken. Dengan parameter ini, Anda dapat mengambil kumpulan rekaman berikutnya menggunakan salah satu metode berikut:

  • Gunakan continuationUri untuk memproses permintaan berikutnya Anda.

  • Gunakan continuationToken sebagai parameter kueri untuk membangun permintaan Anda berikutnya.

Setelah semua rekaman diambil, parameter continuationUri dan continuationToken dihapus dari respons atau muncul sebagai null.

Contoh kode

Dalam contoh ini, Anda membuat klien dan memanggil API daftar ruang kerja. Parameter continuationToken digunakan untuk mendapatkan potongan ruang kerja paginasi berikutnya, sampai kembali kosong atau null.

using (HttpClient client = new HttpClient()) 
{ 
    client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "<Your token>"); 
    string continuationToken = null; 
    var workspaces = new List<Workspace>(); 
    do 
    { 
        var requestUrl = "https://api.fabric.microsoft.com/v1/workspaces"; 
        if (!string.IsNullOrEmpty(continuationToken)) 
        { 
            requestUrl += $"?continuationToken={continuationToken}"; 
        } 
        HttpResponseMessage response = await client.GetAsync(requestUrl); 
        if (response.IsSuccessStatusCode) 
        { 

            // Parse the response JSON   
            var responseData = await response.Content.ReadAsStringAsync(); 
            var paginatedResponse = JsonConvert.DeserializeObject<PaginatedResponse<Workspace>>(responseData); 

            // Append the list of workspaces in the current retrieved page 
            workspaces.AddRange(paginatedResponse.Value); 

            // Check if there are more records to retrieve 
            continuationToken = paginatedResponse.ContinuationToken; 
        } 
        else 
        { 
            Console.WriteLine($"Error: {response.StatusCode}"); 
            break; 
        } 
    } while (!string.IsNullOrEmpty(continuationToken)); 
}