RESTful API กับ Dart ง่ายมากๆ

เริ่มต้นที่ tool editor ที่เราจะใช้เขียนก่อนเลยครับ มีให้เลือกใช้หลายตัว แล้วแต่ความชอบความถนัดนะครับ ที่เลือกมานี้คือแบบที่มี  plugin support ภาษา dart นะครับ

  • webstorm
  • visual studio code
  • android studio
  • Intellij Idea

ส่วนในบทความนี้ผมขอใช้ webstorm นะครับ

 


 

เริ่มต้นสร้างโปรเจคก่อนเลยครับ เลือก Dart > Web Server (เลือกแบบอื่นก็ได้ครับ เพราะต้องเขียนใหม่เหมือนกัน)

 


 

โปรเจค web server จะได้โครงสร้างไฟล์เริ่มต้นมาแบบนี้ครับ จากนั้นคลิกที่ไฟล์ pubspec.yaml เพิ่มโค้ดเข้าไปที่ dependencies

เป็น package RPC ที่ใช้ทำ restful api นะครับ หากถามว่าทำไมต้องใช้ package นี้ มีตัวอื่นให้ใช้หรือไม่ ตอบได้เลยว่ามีครับ เป็นพวก framework เช่น start,angel,redstar ลองค้นใน github ดูจะเจอครับ แต่ที่เลือกใช้ rpc นี้เพราะเป็นแพ็คเกจของทีม dart เองครับ เลยจะรู้สึกอุ่นใจหน่อย ยังไงก็แล้วแต่ความชอบได้เลยนะครับ

 

 

จากนั้นคลิกที่ Get dependencies ที่มุมขวาด้านบน เพื่อทำการติดตั้ง package

 


 

เมื่อติดตั้งเสร็จแล้ว ให้เปลี่ยนโค้ดในไฟล์ sever.dart ตามนี้

เป็นคำสั่งรัน server ที่ port 8080 นะครับ พร้อมกับใช้งาน api class Cloud ซึ่งจะขีดเส้นแดง นั่นคือเรายังไม่ได้สร้างคลาสตัวนี้ครับ

เราจะทำการสร้างคลาส cloud ครับ คลิกขวาในกรอบโปรเจคเพื่อสร้างไฟล์ api.dart เพิ่มเข้าไปครับ

ข้างในไฟล์มีโค้ดตามนี้ครับ

 


 

ทดสอบรัน โดยคลิกขวาที่ server.dart คลิก Run

 


 

พิมพ์ url ดังนี้ http://127.0.0.1:8080/api/v1/hello (api มาจาก name , v1 มาจาก version ใน @ApiClass , hello มาจาก path ใน @ApiMethod)

ปิ๊ง!!! มาแล้วครับ

 


 

ทีนี้เรามาดูในโค้ด api.dart กันคร่าวๆ จะมีคลาส Cloud ซึ่งจะเป็น api class ประกอบด้วย Resource ที่เป็นข้อมูล rounting ต่างๆครับ ส่วนคลาส MessageResponse เป็นคลาสที่ใช้กับการแสดงผล response นะครับ ซึ่งสามารถเป็นได้หลายแบบเช่น

ส่วนนี้เป็นการส่งค่ากลับครับ

หวังว่าจะทำให้ทุกๆคนเปลี่ยนมาใช้ Dart กันมากขึ้นนะครับ

ที่มา : https://github.com/dart-lang/rpc