เราสามารถรับและโพสต์ข้อมูลจาก Web API โดยใช้เว็บไคลเอ็นต์ เว็บไคลเอ็นต์จัดเตรียมวิธีการทั่วไปสำหรับการส่งและรับข้อมูลจากเซิร์ฟเวอร์
เว็บไคลเอ็นต์ใช้งานง่ายสำหรับการใช้ Web API คุณยังสามารถใช้ httpClientin แทน WebClient
คลาส WebClient ใช้คลาส WebRequest เพื่อให้เข้าถึงทรัพยากร
อินสแตนซ์ WebClient สามารถเข้าถึงข้อมูลด้วยลูกหลานของ WebRequest ที่ลงทะเบียนด้วยเมธอด WebRequest.RegisterPrefix
Namespace:System.Net Assembly:System.Net.WebClient.dll
UploadString ส่งสตริงไปยังทรัพยากรและส่งคืนสตริงที่มีการตอบกลับ
ตัวอย่าง
class Program{ public static void Main(){ User user = new User(); try{ using (WebClient webClient = new WebClient()){ webClient.BaseAddress = "https://jsonplaceholder.typicode.com"; var url = "/posts"; webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); webClient.Headers[HttpRequestHeader.ContentType] ="application/json"; string data = JsonConvert.SerializeObject(user); var response = webClient.UploadString(url, data); var result = JsonConvert.DeserializeObject<object>(response); System.Console.WriteLine(result); } } catch (Exception ex){ throw ex; } } } class User{ public int id { get; set; } = 1; public string title { get; set; } = "First Data"; public string body { get; set; } = "First Body"; public int userId { get; set; } = 222; }
ผลลัพธ์
{ "id": 101, "title": "First Data", "body": "First Body", "userId": 222 }