- สร้างโปรเจ็กส์ WebApi
- สร้าง WebForm ทดลองส่ง Header
ถ้าไม่ส่ง Header ดูที่ ASP.Net: WebApi คืนค่าและรับค่าเป็นคลาส
1.สร้างโปรเจ็กส์ WebApi
ต้องส่ง Header ชื่อ Custom
มาถึงจะใช้งานได้ ไม่งั้นจะคืนค่า “Unauthorized access”
using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Web.Http; namespace WebApi.Controllers { public class Person { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } public class ValuesController : ApiController { // POST api/values //public void Post([FromBody]string value) //{ //} public string Post([FromBody]Person param) { HttpRequestMessage req = Request; var headers = req.Headers; if (headers.Contains("Custom")) { string token = headers.GetValues("Custom").First(); return param.ID + " " + param.FirstName + " " + param.LastName; } else { return "Unauthorized access"; } } } }
2.สร้าง WebForm ทดลองส่ง Header
using System; using System.IO; using System.Net; namespace WebApp2 { public partial class WebForm1 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string url = "http://localhost:61785/api/values"; HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.Headers.Add("Custom","My Secret"); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"ID\": 1," + "\"FirstName\": \"Phaisarn\"," + "\"LastName\": \"Sutheebanjard\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); } } } }