Cara menggunakan API Web Teras ASP.NET menggunakan RestSharp

REST adalah akronim untuk Perwakilan Negeri Perpindahan, gaya seni bina yang menjadi sangat popular sejak beberapa tahun kebelakangan ini. RESTful API adalah API yang dibina mengikut prinsip dan garis panduan REST. RESTful API biasanya mengembalikan teks biasa, JSON, atau XML sebagai tindak balas.

RestSharp adalah pustaka klien HTTP sumber terbuka yang memudahkan penggunaan perkhidmatan RESTful. RestSharp menyediakan antara muka mesra pemaju untuk bekerjasama dengan perkhidmatan RESTful sambil meringkaskan selok-belok dalaman bekerja dengan permintaan HTTP. RestSharp menyokong permintaan segerak dan tidak segerak.

Artikel ini memaparkan perbincangan mengenai bagaimana kita dapat bekerjasama dengan RestSharp untuk menggunakan perkhidmatan yang dibina menggunakan ASP.NET Core.

Untuk bekerja dengan contoh kod dalam artikel ini, anda harus memasang Visual Studio 2019 di sistem anda. Sekiranya anda belum mempunyai salinannya, anda boleh memuat turun Visual Studio 2019 di sini. 

Buat projek ASP.NET Core API

Pertama, mari buat projek Teras ASP.NET di Visual Studio. Dengan mengandaikan Visual Studio 2019 dipasang di sistem anda, ikuti langkah-langkah yang digariskan di bawah untuk membuat projek ASP.Net Core baru di Visual Studio.

  1. Lancarkan ID Studio Visual.
  2. Klik pada "Buat projek baru."
  3. Di tetingkap "Buat projek baru", pilih "Aplikasi Web Inti ASP.NET" dari senarai templat yang dipaparkan.
  4. Klik Seterusnya.
  5. Di tetingkap "Konfigurasikan projek baru Anda", tentukan nama dan lokasi untuk projek baru.
  6. Klik Buat.
  7. Di tetingkap "Buat Aplikasi Web ASP.Net Core Baru", pilih .NET Core sebagai runtime dan ASP.NET Core 2.2 (atau lebih baru) dari senarai drop-down di bahagian atas. Saya akan menggunakan ASP.NET Core 3.0 di sini.
  8. Pilih "API" sebagai templat projek untuk membuat aplikasi ASP.NET Core API baru. 
  9. Pastikan bahawa kotak centang "Aktifkan Docker Support" dan "Configure for HTTPS" tidak dicentang kerana kami tidak akan menggunakan fitur tersebut di sini.
  10. Pastikan bahawa Pengesahan ditetapkan sebagai "Tanpa Pengesahan" kerana kami juga tidak akan menggunakan pengesahan.
  11. Klik Buat. 

Mengikuti langkah-langkah ini akan membuat projek ASP.NET Core API baru di Visual Studio. Selanjutnya, pilih folder penyelesaian Pengawal di tetingkap Penyelesaian Penyelesaian, klik "Tambah -> Pengawal ...," dan pilih "Pengawal API dengan Tindakan Baca / Tulis." Namakan pengawal baru ini DefaultController.

Kami akan menggunakan projek ini di bahagian seterusnya artikel ini.

Laksanakan DefaultController dalam ASP.NET Core API

Buka fail DefaultController.cs dan ganti kod di dalamnya dengan yang diberikan di bawah:

menggunakan Microsoft.AspNetCore.Mvc;

menggunakan System.Collections.Generic;

namespace RESTAPIDemo.Pengawal

{

    [Laluan ("api / [pengawal]")]

    [ApiController]

    kelas awam DefaultController: ControllerBase

    {

        pengarang Kamus peribadi baca = Kamus baru ();

        DefaultController awam ()

        {

            pengarang.Add (1, "Joydip Kanjilal");

            pengarang.Add (2, "Steve Smith");

            pengarang.Add (3, "Michele Smith");

        }

        [HttpGet]

        senarai awam Dapatkan ()

        {

            Senarai lstAuthors = Senarai baru ();

            foreach (KeyValuePair keyValuePair dalam pengarang)

                lstAuthors.Add (keyValuePair.Value);

            kembali lstAuthors;

        }

        [HttpGet ("{id}", Nama = "Dapatkan")]

        rentetan awam Dapatkan (int id)

        {

            pengarang kembali [id];

        }

        [HttpPost]

        public void Post (nilai rentetan [FromBody])

        {

            pengarang. Tambah (4, nilai);

        }

        [HttpPut ("{id}")]

        kekosongan awam Put (int id, [stringBody]

        {

            pengarang [id] = nilai;

        }

        [HttpDelete ("{id}")]

        kekosongan awam Padam (int id)

        {

            pengarang.Keluarkan (id);

        }

    }

}

Rujuk kelas DefaultController di atas. Perhatikan bahawa kelas ini mengandungi kaedah tindakan yang sesuai dengan setiap kata kerja HTTP GET, POST, PUT, dan DELETE. Demi kesederhanaan, kami menggunakan Kamus di sini untuk menyimpan dan mengambil data. Anda boleh menguji API ini menggunakan penyemak imbas web atau alat seperti Postman atau Fiddler. Perhatikan bahawa saya telah memasukkan ID dalam kaedah HttpPost hanya untuk kesederhanaan. Anda harus melaksanakannya dengan cara anda sendiri untuk menghasilkan kunci unik.

Setakat ini begitu baik. Pada bahagian yang berikut, kami akan belajar bagaimana bekerja dengan RestSharp untuk menggunakan API yang telah kami bina.

Buat pelanggan untuk menggunakan API

Kami akan menggunakan aplikasi konsol sebagai pelanggan untuk menggunakan API yang kami bina sebelumnya. Dengan mengandaikan Visual Studio 2019 dipasang di sistem anda, ikuti langkah-langkah yang digariskan di bawah untuk membuat projek Aplikasi Konsol Teras NET baru di Visual Studio.

  1. Lancarkan ID Studio Visual.
  2. Klik pada "Buat projek baru."
  3. Di tetingkap "Buat projek baru", pilih "Aplikasi Konsol (.NET Core)" dari senarai templat yang dipaparkan.
  4. Klik Seterusnya.
  5. Di tetingkap "Konfigurasikan projek baru anda" yang ditunjukkan di sebelah, tentukan nama dan lokasi untuk projek baru.
  6. Klik Buat.

Itu sahaja yang harus kita lakukan untuk membuat projek Aplikasi Konsol Teras NET yang baru.

Pasang pakej RestSharp NuGet

Untuk bekerja dengan RestSharp, anda harus memasang pakej RestSharp dari NuGet. Anda boleh melakukannya sama ada melalui NuGet Package Manager di dalam Visual Studio 2019 IDE, atau dengan melaksanakan perintah berikut di NuGet Package Manager Console:

Pasang-Pakej RestSharp

Gunakan API Teras ASP.NET menggunakan RestSharp

Setelah anda memasang RestSharp ke dalam projek anda, anda boleh mula menggunakannya. Pertama, anda perlu membuat contoh RestClient. Coretan kod berikut menunjukkan bagaimana anda dapat membuat dan memulakan kelas RestClient. Perhatikan bahawa kami meneruskan URL asas kepada pembangun kelas RestClient.

Pelanggan RestClient = RestClient baru ("// localhost: 58179 / api /");

Seterusnya, anda harus membuat contoh kelas RestRequest dengan meneruskan nama sumber dan kaedah yang akan digunakan. Coretan kod berikut menunjukkan bagaimana ini dapat dicapai.

Permintaan RestRequest = RestRequest baru ("Default", Method.GET);

Terakhir, Anda harus melaksanakan permintaan, mendeserisasi respons, dan memberikannya ke objek yang sesuai seperti yang ditunjukkan dalam potongan kode yang diberikan di bawah.

IRestResponse
   
     tindak balas = klien.Laksanakan
    
     (permintaan);
    
   

Berikut adalah senarai kod lengkap untuk rujukan anda.

menggunakan RestSharp;

menggunakan Sistem;

menggunakan System.Collections.Generic;

ruang nama RESTSharpClientDemo

{

    Program kelas

    {

        pelanggan RestClient statik peribadi = baru

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

        kekosongan statik Utama (string [] args)

        {

            Permintaan RestRequest = RestRequest baru ("Default",

            Kaedah.GET);

            IRestResponse tindak balas =

            pelanggan.Laksanakan (permintaan);

            Konsol.ReadKey ();

        }

    }

}

Untuk membuat permintaan POST menggunakan RestSharp, anda boleh menggunakan kod berikut:

Permintaan RestRequest = RestRequest baru ("Default", Method.POST);

permintaan.AddJsonBody ("Robert Michael");

var respons = client.Execute (permintaan);

RestSharp boleh didapati di beberapa platform .NET, yang merupakan salah satu sebab mengapa ia sangat popular. Keupayaan deserialisasi automatik RestSharp juga penting. Anda boleh mengetahui lebih lanjut mengenai RestSharp di GitHub.