สร้างโปรเจ็กส์แบบ WebApi
แล้วกำหนดให้คืนค่าเฉพาะ application/json
แก้ไข Controllers > ValuesController.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 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
using System.Collections.Generic; using System.Web.Http; namespace WebApi.Controllers { public class Person { public int ID; public string FirstName; public string LastName; //public Person() //{ //} } 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 void Post([FromBody]string value) { } // PUT api/values/5 public void Put(int id, [FromBody]string value) { } // DELETE api/values/5 public void Delete(int id) { } } } |
บรรทัดที่ 6-15: สร้างคลาส Person
บรรทัดที่ 12-14: ไม่ต้องมี constructor ก็ได้
บรรทัดที่ 20: กำหนดให้คืนค่าเป็น List<Person>
บรรทัดที่ 22-25: สร้างตัวแปร people
พร้อมกำหนดค่าให้
บรรทัดที่ 26: คืนค่า people
คลาส Person
เขียนแบบนี้น่าจะถูกต้องมากกว่า
1 2 3 4 5 6 |
public class Person { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } |
ลองเรียกไปที่ http://localhost:57067/api/Values จะได้
1 |
[{"ID":1,"FirstName":"Phaisarn","LastName":"Sutheebanjard"},{"ID":2,"FirstName":"Foo","LastName":"Bar"}] |
หรือ
1 2 3 4 5 6 7 8 9 10 11 12 |
[ { "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 จะได้
1 2 3 4 5 |
{ "ID": 1, "FirstName": "Phaisarn", "LastName": "Sutheebanjard" } |
การคืนค่าเป็น array of string
1 2 3 4 5 6 7 8 9 |
// GET api/values/5 public string[] Get(int id) { return new string[] { "Hello", "World" }; } |
จะได้
[code]
["Hello","World"]
[/code]
Link