- [C#] Cách Sử Dụng DeviceId trong C# Để Tạo Khóa Cho Ứng Dụng
- [SQLSERVER] Loại bỏ Restricted User trên database MSSQL
- [C#] Hướng dẫn tạo mã QRcode Style trên winform
- [C#] Hướng dẫn sử dụng temp mail service api trên winform
- [C#] Hướng dẫn tạo mã thanh toán VietQR Pay không sử dụng API trên winform
- [C#] Hướng Dẫn Tạo Windows Service Đơn Giản Bằng Topshelf
- [C#] Chia sẻ source code đọc dữ liệu từ Google Sheet trên winform
- [C#] Chia sẻ source code tạo mã QR MOMO đa năng Winform
- [C#] Chia sẻ source code phần mềm lên lịch tự động chạy ứng dụng Scheduler Task Winform
- [Phần mềm] Tải và cài đặt phần mềm Sublime Text 4180 full version
- [C#] Hướng dẫn download file từ Minio Server Winform
- [C#] Hướng dẫn đăng nhập zalo login sử dụng API v4 trên winform
- [SOFTWARE] Phần mềm gởi tin nhắn Zalo Marketing Pro giá rẻ mềm nhất thị trường
- [C#] Việt hóa Text Button trên MessageBox Dialog Winform
- [DEVEXPRESS] Chia sẻ code các tạo report in nhiều hóa đơn trên XtraReport C#
- [POWER AUTOMATE] Hướng dẫn gởi tin nhắn zalo từ file Excel - No code
- [C#] Chia sẻ code lock và unlock user trong domain Window
- [DEVEXPRESS] Vẽ Biểu Đồ Stock Chứng Khoán - Công Cụ Thiết Yếu Cho Nhà Đầu Tư trên Winform
- [C#] Hướng dẫn bảo mật ứng dụng 2FA (Multi-factor Authentication) trên Winform
- [C#] Hướng dẫn convert HTML code sang PDF File trên NetCore 7 Winform
[C#] Giới thiệu thư viện RestSharp dùng gọi API trong Dotnet
Xin chào các bạn, bài viết hôm nay mình sẻ tiếp tục giới thiệu đến các bạn thư viện RestSharp dùng để gọi API trong môi trường lập trình DotNet nói chung và Winform nói riêng.
[C#] Using RestSharp Lib Call API in Dotnet
Hiện nay, nhiều ứng dụng winform có thể không kết nối trực tiếp đến database như SQL Server.
Mà chúng cũng được viết và gọi qua API từ Webservice.
1. Giới thiệu RestSharp
RestSharp mang đến một thư viện máy khách HTTP mã nguồn mở, toàn diện, hoạt động với tất cả các loại công nghệ DotNet.
Nó được sử dụng để xây dựng các ứng dụng mạnh mẽ bằng cách giúp dễ dàng giao tiếp với các API công khai và truy cập nhanh dữ liệu, tiết kiệm thời gian với giao diện đơn giản, gọn gàng, một công cụ REST phổ biến được nhiều lập trình viên sử dụng hiện nay.
RestSharp có khả năng phân tích cú pháp XML và JSON tự động, hỗ trợ các tính năng như GET, PUT, Head, POST, DELETE. RestSharp đảm nhiệm nhiều nhiệm vụ nhỏ lẻ, lặp đi lặp lại để bớt một phần công việc cho người dùng, chẳng hạn API trong RestSharp trả về XML, RestSharp tự động phát hiện và giải tuần tự hóa cho đối tượng Gọi bằng XmlDeserializer mặc định. Ngoài ra, RestSharp có thể tạo RestRequest mặc định thông qua yêu cầu GET HTTP.
2. Các đặc điểm chính của RestSharp:
- Thư viện máy khách HTTP mã nguồn mở
- Sử dụng REST kiểm thử API HTTP trong DotNet.
- Tạo các ứng dụng dễ dàng gỡ lỗi.
- Tự động phân tích cú pháp XML và JSON.
- Thực hiện nhiều nhiệm vụ API.
3. Cài đặt Restsharp
Bạn có thể dùng lệnh dưới đây để cài đặt từ Nuget
PM> Install-Package RestSharp -Version 107.3.1-alpha.0.24
Ví dụ:
Link api get Employee Demo:
https://raw.githubusercontent.com/dinhtona/api-mssql-dapper/main/db.json
Mình có một Model Employees như sau:
public class Employee
{
public int Id { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public string BirthDay { get; set; }
public string Gender { get; set; }
public string BirthPlace { get; set; }
public int Age { get; set; }
public string Address { get; set; }
}
Và chúng ta sẻ sử dụng request sau để lấy dữ liệu về:
private void Form1_Load(object sender, EventArgs e)
{
Uri Url = new Uri("https://raw.githubusercontent.com/dinhtona/api-mssql-dapper/main/db.json");
var restClient = new RestClient(Url);
RestRequest restRequest = new RestRequest("", Method.Get);
var restResponse = restClient.Execute<List<Employee>>(restRequest);
if (restResponse.IsSuccessful)
{
var employee = restResponse.Data;
dataGridView1.DataSource = employee;
}
else
{
Console.WriteLine(restResponse.ErrorMessage);
}
}
Kết quả trả về được cho chúng ta danh sách Employee và chúng ta gắn lên datagridview như hình dưới đây:
Đơn giản phải không các bạn.
Thanks for watching!