- คืนค่าเป็นคลาส
- รับค่าเป็นคลาส
- ทดลองส่งค่าไปด้วย Postman
- ทดลองส่งค่าไปด้วย ASP.NET
- ทดลองส่งค่าไปด้วย WebForm
1.คืนค่าเป็นคลาส
แก้ไข Controllers > ValuesController.cs
ing System.Collections.Generic;
using System.Web.Http;
namespace WebApi1.Controllers
{
public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class ValuesController : ApiController
{
// GET api/values
public List<Person> Get()
{
List<Person> people = new List<Person>{
new Person{ID = 1, FirstName = "Phaisarn", LastName = "Sutheebanjard"},
new Person{ID = 2, FirstName= "Foo", LastName = "Bar"}
};
return people;
}
// GET api/values/5
public Person Get(int id)
{
Person person = new Person
{
ID = 1,
FirstName = "Phaisarn",
LastName = "Sutheebanjard"
};
return person;
}
}
}
บรรทัดที่ 6-15: สร้างคลาส Person
บรรทัดที่ 16: กำหนดให้คืนค่าเป็น List<Person>
บรรทัดที่ 18-21: สร้างตัวแปร people พร้อมกำหนดค่าให้
บรรทัดที่ 22: คืนค่า people
ลองเรียกไปที่ http://localhost:57067/api/Values จะได้
[
{
"ID": 1,
"FirstName": "Phaisarn",
"LastName": "Sutheebanjard"
},
{
"ID": 2,
"FirstName": "Foo",
"LastName": "Bar"
}
]
จากหน้า ASP.NET Web API Help Page เมื่อคลิกดูที่ GET api/Values จะได้

และถ้าลองเรียกไปที่ http://localhost:57067/api/Values/5 จะได้
{
"ID": 1,
"FirstName": "Phaisarn",
"LastName": "Sutheebanjard"
}
2.รับค่าเป็นคลาส
แก้ไข Controllers > ValuesController.cs
using System.Collections.Generic;
using System.Web.Http;
namespace WebApi1.Controllers
{
public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
public class ValuesController : ApiController
{
// GET api/values
public List<Person> Get()
{
List<Person> people = new List<Person>{
new Person{ID = 1, FirstName = "Phaisarn", LastName = "Sutheebanjard"},
new Person{ID = 2, FirstName= "Foo", LastName = "Bar"}
};
return people;
}
// GET api/values/5
public Person Get(int id)
{
Person person = new Person
{
ID = 1,
FirstName = "Phaisarn",
LastName = "Sutheebanjard"
};
return person;
}
// POST api/values
public string Post([FromBody]Person param)
{
return param.ID + " " +
param.FirstName + " " +
param.LastName;
}
}
}
2.1 ทดลองส่งค่าไปด้วย Postman

ตัวอย่างค่าที่ใช้ส่ง
{
"ID": 1,
"FirstName": "Phaisarn",
"LastName": "Sutheebanjard"
}
ค่าที่ได้กลับมา
"1 Phaisarn Sutheebanjard"
2.2 ทดลองส่งค่าไปด้วย ASP.NET
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:59425/api/values";
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
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();
}
}
}
}
2.3 ทดลองส่งค่าไปด้วย WebForm
WebForm1.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="myform" name="myform" method='POST'
runat="server">
<p>
<asp:TextBox ID="ID" Text="" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="FirstName" Text="" runat="server"></asp:TextBox>
</p>
<p>
<asp:TextBox ID="LastName" Text="" runat="server"></asp:TextBox>
</p>
<asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" />
<p>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</p>
</form>
</body>
</html>
WebForm1.aspx.cs
using System;
using System.Collections.Specialized;
using System.Net;
using System.Text;
namespace WebApp2
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
string url = "http://localhost:59425/api/Values";
try
{
WebClient client = new WebClient();
// Upload some form post values.
NameValueCollection form = new NameValueCollection();
form.Add("ID", ID.Text);
form.Add("FirstName", FirstName.Text);
form.Add("LastName", LastName.Text);
Byte[] responseData = client.UploadValues(url, form);
// Decode and display the response.
Console.WriteLine();
Label1.Text = "Response received was :" + Encoding.ASCII.GetString(responseData);
}
catch (WebException webEx)
{
Console.WriteLine(webEx.ToString());
if (webEx.Status == WebExceptionStatus.ConnectFailure)
{
Label1.Text = "Something to wrong.";
}
}
}
}
}
ถ้าต้องการให้โหลดข้อมูลเสร็จแล้ว POST อัตโนมัติ ให้ดูที่นี่