มาเขียน Structure Restful APIs ด้วย NodeRed
ดีทุกคน หายไปนานมากเลยสำหรับบทความหนึ่งนะครับ กลับมาอีกทีก็ไม่ได้กลับมามือเปล่าวันนี้ได้ลอง Tools ตัวหนึ่ง นั้นก็คือ node red ตอนเเรกพี่ที่ทำงานให้ลองใช้งานดู ผมก็นึกว่าให้ลองเขียน node restful api ไอ้เราก็งง ฟังไปฟังเอ้าไม่ใช่นี่หว่า เเล้วมันดียังไง ช่วยอะไรในการ dev ได้บ้าง มาดูกัน
Flow-based programming for the Internet of Things
เดี๋ยวผมจะประยุกต์เข้ากลับการเขียน APIs ธรรมดาเเล้วกันนะครับ ไม่ต้องถึงขนาด iot เเล้วกัน (ครั้งหน้าเดี๋ยวมาเเชร์เรื่องการเขียน iot แล้วกัน)
วิธีการ set up เจ้า nodered
clone repository มาลองลงเลย
git clone https://github.com/node-red/node-red.git
cd node-red
npm installจากนั้น หากใครยังไม่เจ้าgrunt ให้ลงก่อนนะครับ เดี๋ยวเราจะรันไม่ได้
sudo npm install -g grunt-cliจากนั้นให้รันคำสั่ง
grunt build
node redจากนั้นเราก็จะได้หน้าโปรแกรม http://localhost:1880

เดี๋ยววันนี้ลองอะไรง่ายก่อนล่ะ
- ลองสร้าง backend เพื่อใช้งานจริง (post methods)
ง่ายๆ เเล้วกันนะครับ
ขั้นเเรกเดี๋ยวเราลองสร้าง APIs ยิงในเครื่องเล่นเพื่อเป็น mock ก่อนเเล้วกันนะครับ
ผมจะลากเมนู Http เข้ามานะครับ ตามภาพนะครับ

จากนั้นลองกำหนด methods ที่ใช้ยิง APIs ดูครับ เดี๋ยวลองเล่น POST

สร้าง
post http://localhost:1880/account กันตามนี้
จากนั้นลองลาก เมนู Function ลงมาเพื่อเขียน logic vaildate ข้อมูลตอนเราส่งไปที่ APIs


ผมเขียน check แบบง่ายๆนะครับ ให้มัน check name, surname ว่ามีค่าห้ามว่าง แค่นั้นล่ะครับ
จากนั้นให้เราลาก http response มาลากต่อกับส่วนของ function ของเรานั้นเอง

จากนั้นลองเอา postman ยิงไปที่ api ที่นี่เราก็จะได้ mock apis เพื่อให้ QA หรือให้ Programer เข้าใจใน way เดียวกัน ฮ่าๆๆ
จริงๆ เราสามารถที่จะนำมาใช้ได้ในหลายงานมากกว่านี้ขึ้นอยู่กับการเขียนเทส หรือการวาง Flow เพื่อให้มองภาพออก เพราะว่าเราคงไม่อยากอธิบายอะไรซ้ำๆ เกี่ยวกับ flow ระบบ ให้ไปลองเล่นใน nodered ของเราเลย ดีกว่าเพราะจะได้เข้าใจไปในทางเดียวกัน
