Cara menggunakan ASP.NET Core Web API menggunakan RestSharp

REST adalah singkatan dari Representational State Transfer, sebuah gaya arsitektur yang menjadi sangat populer selama beberapa tahun terakhir. RESTful API adalah yang dibangun sesuai dengan prinsip dan pedoman REST. RESTful API biasanya menampilkan teks biasa, JSON, atau XML sebagai respons.

RestSharp adalah pustaka klien HTTP sumber terbuka yang memudahkan penggunaan layanan RESTful. RestSharp menyediakan antarmuka yang ramah pengembang untuk bekerja dengan layanan RESTful sambil mengabstraksi kerumitan internal bekerja dengan permintaan HTTP. RestSharp mendukung permintaan sinkron dan asinkron.

Artikel ini menyajikan diskusi tentang bagaimana kita dapat bekerja dengan RestSharp untuk menggunakan layanan yang dibangun menggunakan ASP.NET Core.

Untuk bekerja dengan contoh kode di artikel ini, Anda harus menginstal Visual Studio 2019 di sistem Anda. Jika Anda belum memiliki salinannya, Anda dapat mengunduh Visual Studio 2019 di sini. 

Buat proyek ASP.NET Core API

Pertama, mari buat proyek ASP.NET Core di Visual Studio. Dengan asumsi Visual Studio 2019 diinstal di sistem Anda, ikuti langkah-langkah yang diuraikan di bawah ini untuk membuat proyek ASP.Net Core baru di Visual Studio.

  1. Luncurkan Visual Studio IDE.
  2. Klik "Buat proyek baru".
  3. Di jendela "Buat proyek baru", pilih "Aplikasi Web Inti ASP.NET" dari daftar templat yang ditampilkan.
  4. Klik Next.
  5. Di jendela "Configure your new project", tentukan nama dan lokasi untuk proyek baru tersebut.
  6. Klik Buat.
  7. Di jendela "Buat Aplikasi Web ASP.Net Core Baru", pilih .NET Core sebagai runtime dan ASP.NET Core 2.2 (atau yang lebih baru) dari daftar drop-down di bagian atas. Saya akan menggunakan ASP.NET Core 3.0 di sini.
  8. Pilih "API" sebagai template proyek untuk membuat aplikasi ASP.NET Core API baru. 
  9. Pastikan kotak centang "Aktifkan Dukungan Docker" dan "Konfigurasi untuk HTTPS" tidak dicentang karena kami tidak akan menggunakan fitur tersebut di sini.
  10. Pastikan Autentikasi disetel sebagai "Tanpa Autentikasi" karena kami juga tidak akan menggunakan autentikasi.
  11. Klik Buat. 

Mengikuti langkah-langkah berikut akan membuat proyek ASP.NET Core API baru di Visual Studio. Selanjutnya, pilih folder solusi Pengontrol di jendela Solution Explorer, klik "Add -> Controller ...", dan pilih "API Controller dengan Tindakan Baca / Tulis". Beri nama pengontrol baru ini DefaultController.

Kami akan menggunakan proyek ini di bagian selanjutnya dari artikel ini.

Menerapkan DefaultController di ASP.NET Core API

Buka file DefaultController.cs dan ganti kode di dalamnya dengan yang diberikan di bawah ini:

menggunakan Microsoft.AspNetCore.Mvc;

menggunakan System.Collections.Generic;

namespace RESTAPIDemo.Controllers

{

    [Rute ("api / [controller]")]

    [ApiController]

    kelas publik DefaultController: ControllerBase

    {

        pribadi penulis kamus hanya baca = kamus baru ();

        public DefaultController ()

        {

            penulis.Tambahkan (1, "Joydip Kanjilal");

            penulis. Tambahkan (2, "Steve Smith");

            penulis.Tambahkan (3, "Michele Smith");

        }

        [HttpGet]

        publik Daftar Dapatkan ()

        {

            Daftar lstAuthors = Daftar baru ();

            foreach (KeyValuePair keyValuePair di penulis)

                lstAuthors.Add (keyValuePair.Value);

            return lstAuthors;

        }

        [HttpGet ("{id}", Name = "Get")]

        string publik Dapatkan (int id)

        {

            penulis kembali [id];

        }

        [HttpPost]

        public void Post (nilai string [FromBody])

        {

            penulis. Tambahkan (4, nilai);

        }

        [HttpPut ("{id}")]

        public void Put (int id, [FromBody] nilai string)

        {

            penulis [id] = nilai;

        }

        [HttpDelete ("{id}")]

        public void Hapus (int id)

        {

            penulis. Hapus (id);

        }

    }

}

Lihat kelas DefaultController di atas. Perhatikan bahwa kelas ini berisi metode tindakan yang sesuai dengan setiap verba HTTP GET, POST, PUT, dan DELETE. Demi kesederhanaan, kami menggunakan Kamus di sini untuk menyimpan dan mengambil data. Anda dapat menguji API ini menggunakan browser web atau alat seperti Postman atau Fiddler. Perhatikan bahwa saya telah melakukan hardcode ID dalam metode HttpPost hanya untuk kesederhanaan. Anda harus menerapkannya dengan cara Anda sendiri untuk menghasilkan kunci unik.

Sejauh ini bagus. Di bagian selanjutnya kita akan belajar bagaimana bekerja dengan RestSharp untuk menggunakan API yang telah kita buat.

Buat klien untuk menggunakan API

Kami akan menggunakan aplikasi konsol sebagai klien untuk menggunakan API yang kami buat sebelumnya. Dengan asumsi Visual Studio 2019 diinstal di sistem Anda, ikuti langkah-langkah yang diuraikan di bawah ini untuk membuat proyek aplikasi konsol inti .NET baru di Visual Studio.

  1. Luncurkan Visual Studio IDE.
  2. Klik "Buat proyek baru".
  3. Di jendela "Buat proyek baru", pilih "Aplikasi Konsol (.NET Core)" dari daftar template yang ditampilkan.
  4. Klik Next.
  5. Di jendela "Configure your new project" yang ditampilkan berikutnya, tentukan nama dan lokasi untuk proyek baru tersebut.
  6. Klik Buat.

Hanya itu yang harus kita lakukan untuk membuat proyek Aplikasi Konsol Inti .NET baru.

Instal paket RestSharp NuGet

Untuk bekerja dengan RestSharp, Anda harus menginstal paket RestSharp dari NuGet. Anda dapat melakukan ini baik melalui NuGet Package Manager di dalam Visual Studio 2019 IDE, atau dengan menjalankan perintah berikut di NuGet Package Manager Console:

Instal-Paket RestSharp

Gunakan ASP.NET Core API menggunakan RestSharp

Setelah Anda menginstal RestSharp ke dalam proyek Anda, Anda dapat mulai menggunakannya. Pertama, Anda perlu membuat instance RestClient. Potongan kode berikut menunjukkan bagaimana Anda dapat membuat instance dan menginisialisasi kelas RestClient. Perhatikan bahwa kami meneruskan URL dasar ke konstruktor kelas RestClient.

RestClient client = new RestClient ("// localhost: 58179 / api /");

Selanjutnya, Anda harus membuat instance kelas RestRequest dengan meneruskan nama sumber daya dan metode yang akan digunakan. Potongan kode berikut menunjukkan bagaimana ini dapat dicapai.

RestRequest request = new RestRequest ("Default", Method.GET);

Terakhir, Anda perlu menjalankan permintaan, deserialisasi respons, dan menetapkannya ke objek yang sesuai seperti yang ditunjukkan dalam cuplikan kode yang diberikan di bawah ini.

IRestResponse
   
     respon = klien. Jalankan
    
     (permintaan);
    
   

Berikut ini adalah daftar kode lengkap untuk referensi Anda.

menggunakan RestSharp;

menggunakan Sistem;

menggunakan System.Collections.Generic;

namespace RESTSharpClientDemo

{

    Program kelas

    {

        private static RestClient client = new

        RestClient ("// localhost: 58179 / api /");

        static void Main (string [] args)

        {

            RestRequest request = new RestRequest ("Default",

            Method.GET);

            IRestResponse respon =

            klien. Jalankan (permintaan);

            Console.ReadKey ();

        }

    }

}

Untuk membuat permintaan POST menggunakan RestSharp, Anda dapat menggunakan kode berikut:

RestRequest request = new RestRequest ("Default", Method.POST);

request.AddJsonBody ("Robert Michael");

var response = client.Execute (request);

RestSharp tersedia di beberapa platform .NET, yang merupakan salah satu alasan mengapa ini sangat populer. Kemampuan deserialisasi otomatis RestSharp juga patut diperhatikan. Anda dapat mempelajari lebih lanjut tentang RestSharp di GitHub.