เราสามารถรับและโพสต์ข้อมูลจาก 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
}