0% menganggap dokumen ini bermanfaat (0 suara)
136 tayangan14 halaman

Consume API Json

Dokumen tersebut membahas tentang JSON (JavaScript Object Notation) sebagai format pertukaran data antara aplikasi, contoh format JSON, kegunaan JSON dalam pengembangan aplikasi web dan mobile, endpoint, dan cara mengkonsumsi data dari endpoint melalui operasi CRUD menggunakan .NET.

Diunggah oleh

Fahrul Ichsani
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
136 tayangan14 halaman

Consume API Json

Dokumen tersebut membahas tentang JSON (JavaScript Object Notation) sebagai format pertukaran data antara aplikasi, contoh format JSON, kegunaan JSON dalam pengembangan aplikasi web dan mobile, endpoint, dan cara mengkonsumsi data dari endpoint melalui operasi CRUD menggunakan .NET.

Diunggah oleh

Fahrul Ichsani
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 14

Consume API

Agus Nugroho
Apa itu JSON?

JSON (JavaScript Object Notation) adalah sebuah format yang


digunakan untuk pertukaran data antara aplikasi. Format JSON
didasarkan pada notasi objek dalam bahasa pemrograman
JavaScript, tetapi format ini telah menjadi populer dan
mendukung banyak bahasa pemrograman lainnya.
Contoh Json

Dalam contoh di atas, kita memiliki objek JSON yang berisi informasi seorang individu. Setiap pasangan key-value
memiliki key (misalnya "nama") dan value (misalnya "John Doe"). Value bisa berupa tipe data primitif seperti string,
angka, boolean, atau juga bisa berupa array atau objek lainnya.
Kenapa Json?

JSON banyak digunakan dalam pengembangan aplikasi web


dan mobile sebagai format pertukaran data antara server dan
klien. Data dalam format JSON dapat dengan mudah
dikonversi ke objek dalam bahasa pemrograman dan
sebaliknya, sehingga memudahkan dalam pengolahan dan
manipulasi data.
End point

https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa

Endpoint adalah URL atau alamat yang digunakan oleh aplikasi


untuk berkomunikasi dengan sebuah service atau server dalam
arsitektur perangkat lunak berbasis web. Endpoint menentukan di
mana request atau permintaan akan dikirim dan di mana response
atau tanggapan akan diterima
Menambahkan library newtonjsoft
Model

https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa
Saat kita mengakses endpoint diatas,
Kita akan mendapatkan respon seperti gambar disamping

Yang perlu kita lakukan untuk mengkonsumsi data tersebut, kita harus
memodelkan data disamping kedalam bentuk class

public class Mahasiswa


{
public string nama { get; set; }
public string nim { get; set; }
public DateTime join_date { get; set; }
public string id { get; set; }
}
Get Data

// Baca file JSON


WebClient client = new WebClient();
string json = client.DownloadString(@"https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa");

// Deserialisasi JSON menjadi list Mahasiswa


List<Mahasiswa> mhs = JsonConvert.DeserializeObject<List<Mahasiswa>>(json);

// Tampilkan data Mahasiswa


for (int i = 0; i < mhs.Count; i++)
{
    Console.WriteLine("Nama     : " + mhs[i].nama);
    Console.WriteLine("NIM      : " + mhs[i].nim);
    Console.WriteLine("Join Date: " + mhs[i].join_date.ToString("dd/MM/yyyy"));
    Console.WriteLine("-----------------------------------");
}

Console.ReadKey();
Console.Write("masukan nama : ");
string nama = Console.ReadLine();

Console.Write("masukan nim  :");


Post Data
string nim = Console.ReadLine();

Mahasiswa mahasiswa = new Mahasiswa


{
    nama = nama,
    nim = nim,
    join_date = DateTime.Now
};

string json = JsonConvert.SerializeObject(mahasiswa);


string endpointUrl = @"https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa";

using (HttpClient httpClient = new HttpClient())


{
    HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");
    HttpResponseMessage response = httpClient.PostAsync(endpointUrl, content).Result;
    if (response.IsSuccessStatusCode)
    {
        Console.WriteLine("Data berhasil dipost ke endpoint.");
    }
    else
    {
        Console.WriteLine("Gagal melakukan POST data ke endpoint. Status code: " + response.StatusCode);
    }
}
Console.ReadKey();
Mahasiswa mahasiswa = new Mahasiswa
{
    nama = "xyz",
Update
    nim = "xyz",
    join_date = DateTime.Now
};

string id = Console.ReadLine();
string json = JsonConvert.SerializeObject(mahasiswa);

string endpointUrl = @"https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa/"+id;

using (HttpClient httpClient = new HttpClient())


{
    HttpContent content = new StringContent(json, Encoding.UTF8, "application/json");

    HttpResponseMessage response = httpClient.PutAsync(endpointUrl, content).Result;

    if (response.IsSuccessStatusCode)
    {
        Console.WriteLine("Data berhasil diupdate ke endpoint.");
    }
    else
    {
        Console.WriteLine("Gagal melakukan update data ke endpoint. Status code: " + response.StatusCode);
    }
}

Console.ReadKey();
Delete Data

string id = "1";

string endpointUrl = @"https://629d7f1cc6ef9335c09e838b.mockapi.io/api/mahasiswa/" + id;

using (HttpClient httpClient = new HttpClient())


{
    HttpResponseMessage response = httpClient.DeleteAsync(endpointUrl).Result;

    if (response.IsSuccessStatusCode)
    {
        Console.WriteLine("Data dengan id " + id + " berhasil dihapus dari endpoint.");
    }
    else
    {
        Console.WriteLine("Gagal menghapus data dari endpoint. Status code: " + response.StatusCode);
    }
}

Console.ReadKey();
Ada Pertanyaan?
Latihan

Refactoring menjadi function CRUD, dan buat


main menu pada materi consume API ini
Selesai

Anda mungkin juga menyukai