Python, Flask, และ Response JSON ทำได้ง่ายมาก!
หลายครั้งผมพบว่าสิ่งต่างๆที่มีคนค้นพบแล้ว ทำออกมาแล้วเราก็มักจะบอกกับตัวเราเองว่า “ให้เชื่อตามเขาไป ก็พอแล้ววว” แต่ทำไมเราถึงเชื่อล่ะครับ?
เช่น เดียวกันกับ ในบทความนี้ครับ ผมจะมาเล่าเรื่องยอดฮิตอย่างการ Response JSON จาก Server-side กลับไปให้ Client ซึ่งภาษาไหนๆ ก็ควรจะทำได้ใช่ไหมครับ โดยเฉพาะกับการทำ RESTFul APIs งั้นมาดูกัน
📛 Problem
ปัญหา คือ มันทำได้ง่ายมากๆๆๆๆ โดยไม่ต้อง Set อะไรเลย ด้วย Flask
เพราะฉะนั้นวันนี้เราเลยมาคุยกัน ถึงวิธีที่สามารถทำให้สำเร็จด้วย
Built-in function ใน Python กันครับ
⚠️ Prerequisites
- Basic Python programming
- Familar with Flask
- Some understanding in RESTFul APIs
💥 Solutions
💲วิธีที่ 1 คือ การใช้ jsontify จาก Flask เองเลยครับ
เราแค่โยน Dictionary ลงไปใน jsontify แค่นั้นเองครับ ตัว Flask จะทำการสร้าง Mimetype = ‘application/json’ ให้กับเราเองเลยยย ง่ายสุดเลยใช่ไหมครับล่ะครับ 😆
💲วิธีที่ 2 สร้างเองจาก Built-in function
ซึ่ง Built-in function ที่ผมพูดถึงคงจะเป็นใครไปไม่ได้นอกจาก json
จาก Gist ด้านบนนี้ จะสังเกตุได้ว่าเรามีการนำ json.dumps() ซึ่งเป็น method สำหรับการแปลง dictionary data ไปเป็น JSON
ในส่วนของ app.response_class นั้นเป็นการทำ manual setting ตัว sesponse ก่อนที่จะถูกส่งออกไปยัง client ซึ่งเราได้ทำการ set mimetype ให้เป็น ‘application/json’ ได้ด้วยตัวเอง
ซึ่งผมมองว่ามันค่อนข้างอิสระ ในการที่เราจะ set header content เป็นประเภทอื่นๆ โดยที่ไม่ต้องรอทางผู้สร้าง อัพเดทให้เราเลย
ดังนั้นแล้ว
ชอบแบบไหน ใช้แบบนั้นครับผม เนื่องจากผมเป็นคนชอบพิสูจน์เลยมองหา Alternative และวิธีการ Proof อยู่เสมอครับ 😄
สำหรับบทความนี้ขอจบไว้เพียงเท่านี้ครับ ไว้โอกาสหน้ามาติดตามกันครับ ว่าผมจะมานำเสนออะไรให้ทุกท่านในบทความต่อไปครับผมมมม!!