การเรียกใช้ API ใน Next.js สามารถทำได้หลายวิธี แต่วิธีที่แพร่หลายและที่เป็นที่แนะนำคือใช้ fetch
หรือแพ็กเกจเสริมอื่น ๆ เช่น Axios เพื่อทำการเรียก API ภายนอก. นี่คือวิธีการเรียกใช้ API ใน Next.js โดยใช้ fetch
:
สร้างโครงหน้า (page) หรือคอมโพนเนนต์ (component) ที่คุณต้องการใช้ในการแสดงผลข้อมูลจาก API โดยปกติคุณจะสร้างโครงหน้าในโฟลเดอร์
pages
ของโปรเจ็กต์ Next.js ของคุณ.ในโครงหน้าหรือคอมโพนเนนต์ที่คุณสร้าง เรียกใช้
fetch
เพื่อเรียก API ดังนี้:
1 | // ตัวอย่างการเรียกใช้ API ด้วย fetch |
ในตัวอย่างข้างบนเราใช้
useState
เพื่อเก็บข้อมูลที่ได้รับจาก API และuseEffect
เพื่อดึงข้อมูลเมื่อคอมโพนเนนต์ถูกโหลด. คุณสามารถปรับแต่งโค้ดในuseEffect
เพื่อรวมการจัดการข้อผิดพลาดหรือการกำหนดค่าอื่น ๆ ตามความต้องการของคุณ.รันโปรเจ็กต์ Next.js ของคุณโดยใช้คำสั่ง
npm run dev
หรือyarn dev
เพื่อดูผลลัพธ์ที่แสดงข้อมูลจาก API บนหน้าเว็บ.โดยปกติคุณควรจะต้องเรียก API จาก
getServerSideProps
หรือgetStaticProps
เมื่อจะสร้างหน้า Next.js ที่ต้องการการเรียก API ตอนตัวหน้าถูกสร้างขึ้น (server-side rendering หรือ static generation) เพื่อให้ความเร็วในการโหลดเว็บไซต์ดีขึ้น แต่ในตัวอย่างข้างบนเราใช้fetch
ในuseEffect
เพื่อง่ายต่อการเรียก API ในคอมโพนเนนต์ที่ถูกโหลดในฝั่งไคลเอนต์.
คำแนะนำเพิ่มเติม:
- หากคุณต้องการใช้งาน API key หรือมีการตั้งค่าอื่น ๆ ควรเก็บข้อมูลส่วนตัวอย่าง API key ในไฟล์
.env.local
และใช้process.env
เพื่อเข้าถึงข้อมูลนี้. - ควรจัดการข้อผิดพลาดอย่างเหมาะสมเมื่อการเรียก API ไม่สำเร็จ โดยการใช้
try...catch
หรือการส่งคำขอ error กลับไปยังเซิร์ฟเวอร์. - หากคุณต้องการใช้งานการยืนยันสิทธิ์แบบ Bearer Token หรือการส่งข้อมูลพื้นฐาน (Basic Authentication) คุณจะต้องกำหนด header ในคำขอ
fetch
ด้วย.