כיצד לצרוך ASP.NET Core API API באמצעות RestSharp

REST הוא ראשי תיבות של העברת מדינות ייצוגיות, סגנון אדריכלי שהפך פופולרי ביותר בשנים האחרונות. ממשק API של RESTful הוא אחד שנבנה בהתאם לעקרונות ולהנחיות של REST. ממשקי API RESTful מחזירים בדרך כלל טקסט רגיל, JSON או XML כתגובה.

RestSharp היא ספריית לקוח HTTP קוד פתוח שמקל על צריכת שירותי RESTful. RestSharp מספקת ממשק ידידותי למפתחים לעבודה עם שירותי RESTful תוך הפשטת המורכבויות הפנימיות של עבודה עם בקשות HTTP. RestSharp תומך בבקשות סינכרוניות וגם אסינכרוניות.

מאמר זה מציג דיון כיצד אנו יכולים לעבוד עם RestSharp לצרוך שירותים שנבנו באמצעות ASP.NET Core.

כדי לעבוד עם דוגמאות הקוד במאמר זה, עליך להתקין במערכת Visual Studio 2019 שלך. אם עדיין אין לך עותק, תוכל להוריד את Visual Studio 2019 כאן. 

צור פרויקט ASP.NET Core API

ראשית, בואו ניצור פרויקט ליבה של ASP.NET ב- Visual Studio. בהנחה ש- Visual Studio 2019 מותקן במערכת שלך, בצע את השלבים המתוארים להלן כדי ליצור פרוייקט ASP.Net Core חדש ב- Visual Studio.

  1. הפעל את Visual Studio IDE.
  2. לחץ על "צור פרויקט חדש".
  3. בחלון "צור פרויקט חדש" בחר "ASP.NET יישום אינטרנט ליבה" מרשימת התבניות המוצגות.
  4. הקש "הבא.
  5. בחלון "הגדר את הפרויקט החדש שלך", ציין את השם והמיקום של הפרויקט החדש.
  6. לחץ על צור.
  7. בחלון "צור יישום אינטרנט חדש של ASP.Net Core" בחר .NET Core בתור זמן הריצה ו- ASP.NET Core 2.2 (או מאוחר יותר) מהרשימה הנפתחת בחלק העליון. אני אשתמש כאן ב- ASP.NET Core 3.0.
  8. בחר "API" כתבנית הפרויקט ליצירת יישום API חדש של ASP.NET Core. 
  9. ודא שתיבות הסימון "אפשר תמיכה ב- Docker" ו- "הגדר עבור HTTPS" אינן מסומנות מכיוון שלא נשתמש בתכונות אלה כאן.
  10. ודא שהאימות מוגדר כ"אין אימות "מכיוון שלא נשתמש גם באימות.
  11. לחץ על צור. 

בעקבות השלבים הבאים ייצור פרוייקט API חדש של ASP.NET Core ב- Visual Studio. לאחר מכן בחר בתיקיית הפיתרון של בקרים בחלון סייר הפיתרון, לחץ על "הוסף -> בקר ...", ובחר "בקר API עם פעולות קריאה / כתיבה." תן שם לבקר החדש הזה DefaultController.

נשתמש בפרויקט זה בחלקים הבאים של מאמר זה.

יישם את DefaultController ב- ASP.NET Core API

פתח את הקובץ DefaultController.cs והחלף את הקוד בו בקובץ הבא:

באמצעות Microsoft.AspNetCore.Mvc;

באמצעות System.Collections.Generic;

מרחב השמות RESTAPIDemo.Controllers

{

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

    [ApiController]

    מחלקה ציבורית DefaultController: ControllerBase

    {

        כותבים פרטיים של מילון קריאה קריאה = מילון חדש ();

        בקר ברירת מחדל ציבורית ()

        {

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

            מחברים. הוסף (2, "סטיב סמית '");

            מחברים. הוסף (3, "Michele Smith");

        }

        [HttpGet]

        רשימה ציבורית קבל ()

        {

            רשימה lstAuthors = רשימה חדשה ();

            foreach (KeyValuePair keyValuePair במחברים)

                lstAuthors.Add (keyValuePair.Value);

            להחזיר lstAuthors;

        }

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

        מחרוזת ציבורית קבל (int id)

        {

            מחברים מחזירים [מזהה];

        }

        [HttpPost]

        פוסט בטל ציבורי (ערך מחרוזת [[FromBody])

        {

            מחברים.הוסף (4, ערך);

        }

        [HttpPut ("{id}")]

        בטל ציבורי Put (int מזהה, [FromBody] ערך מחרוזת)

        {

            מחברים [id] = ערך;

        }

        [HttpDelete ("{id}")]

        בטל ציבורי מחק (מזהה int)

        {

            מחברים. הסר (מזהה);

        }

    }

}

עיין בכיתה DefaultController לעיל. שים לב כי מחלקה זו מכילה שיטות פעולה המתאימות לכל אחת מהפעלות HTTP GET, POST, PUT ו- DELETE. לשם הפשטות, אנו משתמשים כאן במילון כדי לאחסן ולאחזר נתונים. אתה יכול לבדוק את ה- API הזה באמצעות דפדפן האינטרנט שלך או בכלים כמו דוור דואר או כנר. שים לב שקודדתי את המזהה בשיטת HttpPost רק לשם פשטות. אתה צריך ליישם את זה בדרך שלך כדי ליצור מפתח ייחודי.

בינתיים הכל טוב. בחלקים הבאים נלמד כיצד לעבוד עם RestSharp לצרוך את ה- API שבנינו.

צור את הלקוח לצרוך את ה- API

אנו נשתמש ביישום קונסולה כלקוח לצרוך את ה- API שבנינו קודם. בהנחה ש- Visual Studio 2019 מותקן במערכת שלך, בצע את השלבים המתוארים להלן כדי ליצור פרויקט יישום .NET Core Console חדש ב- Visual Studio.

  1. הפעל את Visual Studio IDE.
  2. לחץ על "צור פרויקט חדש".
  3. בחלון "צור פרויקט חדש" בחר "יישום קונסולה (.NET Core)" מרשימת התבניות המוצגות.
  4. הקש "הבא.
  5. בחלון "הגדר את הפרויקט החדש שלך" שמוצג הבא, ציין את השם והמיקום של הפרויקט החדש.
  6. לחץ על צור.

זה כל מה שעלינו לעשות כדי ליצור פרויקט יישום מסוף Core חדש.

התקן את חבילת RestSharp NuGet

כדי לעבוד עם RestSharp, עליך להתקין את חבילת RestSharp מ- NuGet. באפשרותך לעשות זאת באמצעות מנהל החבילות של NuGet בתוך Visual Studio 2019 IDE, או על ידי ביצוע הפקודה הבאה במסוף מנהל החבילות של NuGet:

התקנת חבילה RestSharp

צרכ את ה- API של Core ASP.NET באמצעות RestSharp

לאחר שהתקנת את RestSharp בפרויקט שלך, תוכל להתחיל להשתמש בו. ראשית, יהיה עליך ליצור מופע של RestClient. קטע הקוד הבא מראה כיצד ניתן להפעיל ולהתחיל את המחלקה RestClient. שים לב שאנו מעבירים את כתובת ה- URL הבנויה לבנאי המחלקה RestClient.

לקוח RestClient = RestClient חדש ("// localhost: 58179 / api /");

לאחר מכן, עליך ליצור מופע של המחלקה RestRequest על ידי העברת שם המשאב והשיטה בה יש להשתמש. קטע הקוד הבא מראה כיצד ניתן להשיג זאת.

בקשת RestRequest = RestRequest חדש ("ברירת מחדל", Method.GET);

לבסוף, עליך לבצע את הבקשה, לנתק מחדש את התגובה ולהקצות אותה לאובייקט לפי הצורך כפי שמוצג בקטע הקוד המופיע להלן.

IRestResponse
   
     תגובה = לקוח. ביצוע
    
     (בַּקָשָׁה);
    
   

להלן רישום הקוד המלא לעיונך.

באמצעות RestSharp;

באמצעות מערכת;

באמצעות System.Collections.Generic;

מרחב שמות RESTSharpClientDemo

{

    תכנית כיתתית

    {

        לקוח RestClient סטטי פרטי = חדש

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

        ריק סטטי ראשי (מחרוזת [] טענות)

        {

            בקשת RestRequest = RestRequest חדש ("ברירת מחדל",

            Method.GET);

            IRestResponse תגובה =

            לקוח. לבצע (בַּקָשָׁה);

            Console.ReadKey ();

        }

    }

}

כדי להגיש בקשת POST באמצעות RestSharp, אתה יכול להשתמש בקוד הבא:

בקשת RestRequest = RestRequest חדש ("ברירת מחדל", Method.POST);

request.AddJsonBody ("רוברט מייקל");

var response = client.Execute (בקשה);

RestSharp זמין במספר פלטפורמות .NET, וזו אחת הסיבות לכך שהוא כל כך פופולרי. יכולת העריקה האוטומטית של RestSharp ראויה לציון. תוכל ללמוד עוד על RestSharp ב- GitHub.