- สร้างโปรเจ็กส์
- รันโปรเจ็กส์
- กำหนดให้คืนค่าเฉพาะ application/json
1. สร้างโปรเจ็กส์
เลือกเมนู
File > New > Project …
เลือก
Visual C# > Web > ASP.NET Web Application (.NET Framework)
ตั้งชื่อโปรเจ็กส์ WebApi
เลือก Web API
2. รันโปรเจ็กส์
กด F5
http://localhost:57067/
คลิกที่เมนู API จะแสดงตัวอย่างการเรียกใช้ API
http://localhost:57067/Help
โค๊ดที่เกี่ยวกับ WebApi นี้อยู่ที่ Controllers > ValuesController.cs
ลองเรียกไปที่ http://localhost:57067/api/Values จะได้
1 2 3 4 5 |
<ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"> <string>value1</string> <string>value2</string> </ArrayOfstring> |
จากหน้า ASP.NET Web API Help Page เมื่อคลิกดูที่ GET api/Values จะได้
ลองเรียกไปที่ http://localhost:57067/api/Values/1 จะได้
1 |
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">value</string> |
จากหน้า ASP.NET Web API Help Page เมื่อคลิกดูที่ GET api/Values/{id} จะได้
ลองเรียกจาก Browser บน Notebook ได้ค่าคืนมาเป็น application/xml
แต่ลองเรียกจากอย่างอื่นที่ต้องการเป็น application/json ก็ใช้งานได้
เลยเข้าใจว่า WebApi ที่สร้างขึ้นมานี้ สามารถคืนค่าได้ทั้ง application/xml และ application/json
3. กำหนดให้คืนค่าเฉพาะ application/json
แก้ไขไฟล์ App_Start > WebApiConfig.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
using System.Net.Http.Formatting; using System.Web.Http; namespace WebApi { public static class WebApiConfig { public static void Register(HttpConfiguration config) { // Web API configuration and services config.Formatters.Clear(); config.Formatters.Add(new JsonMediaTypeFormatter()); // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } } } |
บรรทัดที่ 11-12: กำหนดให้คืนค่าเฉพาะ application/json
ลองเรียกไปที่ http://localhost:57067/api/Values จะได้
1 |
["value1","value2"] |
จากหน้า ASP.NET Web API Help Page เมื่อคลิกดูที่ GET api/Values จะได้
ลองเรียกไปที่ http://localhost:57067/api/Values/1 จะได้
1 |
"value" |
จากหน้า ASP.NET Web API Help Page เมื่อคลิกดูที่ GET api/Values/{id} จะได้