- สร้างโปรเจ็กส์ 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();
}
}
}
}