[ Полезный рекламный блок ]
Попробуйте свои силы в игре, где ваши навыки программирования на C# станут решающим фактором. Переходите по ссылке 🔰.
Щоб зробити GET-запит у C#, ви можете використовувати клас HttpClient, який є частиною простору імен System.Net.Http. Нижче наведено приклад виконання GET-запиту на основі консольного додатка:
1 2 3 4 5 6 7 8 9 |
static async Task Main() { using (var client = new HttpClient()) { var response = await client.GetAsync("https://site.com.ua/api/users"); var content = await response.Content.ReadAsStringAsync(); Console.WriteLine(content); } } |
У цьому прикладі ми спочатку створюємо новий екземпляр класу HttpClient, який ми будемо використовувати для виконання нашого запиту. Потім ми викликаємо метод GetAsync на об’єкті клієнта, передаючи URL, який ми хочемо запросити. Цей метод повертає об’єкт HttpResponseMessage, який ми можемо використовувати для читання відповіді від сервера. У цьому випадку ми викликаємо метод ReadAsStringAsync на об’єкті відповіді, щоб прочитати тіло відповіді як рядок, а потім вивести його на консоль. Нарешті, ми очищаємо об’єкт HttpClient за допомогою оператора using, щоб гарантувати, що всі ресурси, які він використовує, будуть звільнені, коли ми закінчимо з ним.
У результаті, у змінній response міститиметься дані, що повертаються сайтом, у моєму випадку це інформація про користувачів:
1 2 3 |
[{"id":"4e711c2a-a080-4e78-a2fd-08db14229e4a","email":"admin@gmail.com","name":null,"theme":null,}, {"id":"f069149c-4e55-4a07-a2fe-08db14229e4a","email":"alex@gmail.com","name":null,"theme":null}, {"id":"91d5d974-159b-450e-a2ff-08db14229e4a","email":"marry.in@ua","name":null,"theme":null} |
Post Request
Щоб зробити POST-запит у C#, ви так можете використовувати клас HttpClient. Ось приклад фрагмента коду:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
class Person { public string Id { get; set; } public string Email { get; set; } public string? Name { get; set; } public string? Theme { get; set; } } class Program { static async Task Main() { Person person = new Person { Email = "person@gmail.com", Name = "Tom", Theme = "Black" }; await PostData("https://site.com.ua/api/users/", JsonSerializer.Serialize(person)); } static async Task<string> PostData(string url, string data) { using (var client = new HttpClient()) { var content = new StringContent(data, Encoding.UTF8, "application/json"); var response = await client.PostAsync(url, content); if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); return responseContent; } throw new Exception($"Failed to post data: {response.StatusCode}"); } } } |
Цей приклад коду надсилає POST-запит із JSON на вказаний URL. HttpClient створюється всередині оператора using, щоб забезпечити належну утилізацію ресурсів після завершення запиту. У разі успішної відповіді повертається вміст відповіді, в іншому випадку виникає виняток.
Шановні ентузіасти програмування на C#!
З найкращими побажаннями,
[Леонід/ Dijix Company]
Delete Request
За таким самим принципом, можна виконати запит на видалення:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
static async Task Main() { using (var client = new HttpClient()) { var response = await client.DeleteAsync("https://site.com.ua/api/users/"); // check if the request was successful if (response.IsSuccessStatusCode) { // handle success Console.WriteLine("Deleted!"); } else { Console.WriteLine("Error!"); // handle error } } } |
У цьому прикладі ми спочатку створюємо екземпляр класу HttpClient. Потім ми використовуємо метод DeleteAsync для надсилання запиту DELETE на вказаний URL. Метод повертає об’єкт HttpResponseMessage, який містить відповідь від сервера. Ми можемо перевірити, чи був запит успішним, викликавши властивість IsSuccessStatusCode об’єкта відповіді.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
static async Task Main() { using (var client = new HttpClient()) { var response = await client.DeleteAsync("https://site.com.ua/api/users/7ac79e4b-a2a4-42d3-1a9a-08db1b048869"); // check if the request was successful if (response.IsSuccessStatusCode) { // handle success Console.WriteLine("Deleted!"); } else { Console.WriteLine("Error!"); // handle error } } } |
Я сподіваюся, що вам сподобалося читати цю статтю, і вона виявилася легкою для розуміння. Будь ласка, дайте мені знати, якщо у вас є якісь коментарі або виправлення.
Так само вам може бути цікава попередня стаття – Як зробити таблицю в консолі.
Ви хочете навчитися писати код мовою програмування C#?
Створювати різні інформаційні системи, що складаються з сайтів, мобільних клієнтів, десктопних додатків, телеграм-ботів тощо.
Переходьте до нас на сторінку Dijix і ознайомтеся з умовами навчання, ми спеціалізуємося тільки на індивідуальних заняттях, як для початківців, так і для просунутих програмістів. Ви можете взяти як одне заняття для опрацювання питання, що вас цікавить, так і кілька, для більш щільної роботи. Завдяки особистому кабінету, кожен студент підвищить якість свого навчання, у вашому розпорядженні:
- Доступ до пройденого матеріалу
- Тематичні статті
- Бібліотека книг
- Онлайн тестування
- Спілкування в закритих групах