Python, Flask, และ Response JSON ทำได้ง่ายมาก!

Ada Kaminkure
1 min readJan 14, 2019

--

หลายครั้งผมพบว่าสิ่งต่างๆที่มีคนค้นพบแล้ว ทำออกมาแล้วเราก็มักจะบอกกับตัวเราเองว่า “ให้เชื่อตามเขาไป ก็พอแล้ววว” แต่ทำไมเราถึงเชื่อล่ะครับ?

เช่น เดียวกันกับ ในบทความนี้ครับ ผมจะมาเล่าเรื่องยอดฮิตอย่างการ 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 อยู่เสมอครับ 😄

สำหรับบทความนี้ขอจบไว้เพียงเท่านี้ครับ ไว้โอกาสหน้ามาติดตามกันครับ ว่าผมจะมานำเสนออะไรให้ทุกท่านในบทความต่อไปครับผมมมม!!

--

--

Ada Kaminkure
Ada Kaminkure

Written by Ada Kaminkure

Indie Game Dev, Software Engineer, Teacher, and Self-Taught Mathematician

No responses yet