Contents

REST API คืออะไร และคุณจะรับข้อมูลสำหรับแอปหรือเว็บไซต์ของคุณได้อย่างไร

ประเด็นที่สำคัญ

API มีบทบาทสำคัญในการเปิดใช้งานการสื่อสารที่ราบรื่นระหว่างส่วนประกอบซอฟต์แวร์ต่างๆ โดยการยอมรับคำขออินพุตและให้การตอบสนองเอาต์พุตที่เหมาะสม ดังนั้นจึงทำให้กระบวนการเข้าถึงและจัดการข้อมูลในระบบต่างๆ ง่ายขึ้น

RESTful API ใช้ Uniform Resource Identifiers (URI) เป็นวิธีการเข้าถึงและจัดการทรัพยากร โดยใช้กริยาคำขอต่างๆ เช่น GET, POST, PUT และ DELETE เพื่อดำเนินการต่างๆ รวมถึงการเรียกค้น การสร้าง การแก้ไข และการลบข้อมูลตามลำดับ

การใช้ไลบรารีเช่น got ใน JavaScript หรือ คำขอ ใน Python ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันที่สามารถดึงข้อมูลจาก RESTful API หลายตัวผ่านการจัดเตรียมคีย์ API และการสืบค้นภายใน URL

คำว่า"API"หมายถึงแนวคิดของอินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน ซึ่งทำหน้าที่เป็นสื่อกลางในการอำนวยความสะดวกในการสื่อสารระหว่างแอปพลิเคชันผ่านชุดฟังก์ชันที่กำหนดไว้ โดยพื้นฐานแล้ว เมื่อโปรแกรมซอฟต์แวร์ตัวหนึ่งส่งคำขอไปยังอีกโปรแกรมหนึ่งผ่าน API ก็จะได้รับคำตอบที่เกี่ยวข้องและตรงประเด็นเป็นการตอบแทน

REST (Representational State Transfer) เป็นรูปแบบสถาปัตยกรรมที่ใช้ในการพัฒนาแอปพลิเคชันไคลเอนต์-เซิร์ฟเวอร์ มันเกี่ยวข้องกับการได้รับการแสดงภาพข้อมูลที่อยู่ในฐานข้อมูลผ่านการใช้ RESTful API นอกจากนี้ API ประเภทนี้ยังทำงานในลักษณะไร้สถานะ ซึ่งหมายความว่าเซิร์ฟเวอร์จะไม่เก็บข้อมูลใดๆ ที่เกี่ยวข้องกับคำขอของลูกค้าในช่วงเวลาระหว่างนั้น

REST API ทำงานอย่างไร

RESTful API ใช้ Uniform Resource Identifiers (URI) เพื่อดึงข้อมูลและจัดการข้อมูล โดยที่ URL ทำหน้าที่เป็นรูปแบบทั่วไปของ URI ที่ใช้ในบริบทดังกล่าว

ในการใช้และแก้ไขทรัพยากร RESTful API จะใช้กริยาคำขอเฉพาะสำหรับการเข้าถึงและจัดการทรัพยากร:

⭐รับ€”ดึงข้อมูลจากฐานข้อมูล

⭐โพสต์€”เพิ่มข้อมูลใหม่ลงในฐานข้อมูล

⭐ใส่€” อัปเดตข้อมูลในฐานข้อมูล

⭐Delete€”ลบข้อมูลจากฐานข้อมูล

การใช้ RESTful API ที่มีอยู่แล้วจำนวนมากที่เข้าถึงได้ทางออนไลน์เป็นทางเลือกแทนการสร้างของคุณเอง (แทนที่จะพัฒนาโซลูชันแบบกำหนดเอง) จะจำกัดตัวเลือกของคุณให้เหลือเพียงวิธีการร้องขอ GET (ผ่าน URL) URL ที่เป็นปัญหาประกอบด้วยองค์ประกอบต่างๆ แต่องค์ประกอบที่เกี่ยวข้องกับความต้องการของคุณมากที่สุดยังรวมถึงข้อมูลรับรองการอนุญาตที่จำเป็นและพารามิเตอร์การสอบถามใดๆ ที่จำเป็นสำหรับการดึงข้อมูล

เมื่อลงทะเบียนกับแพลตฟอร์ม RESTful Application Programming Interface (API) บุคคลจะได้รับตัวระบุเอกพจน์ที่เรียกว่าคีย์ API คีย์นี้ทำหน้าที่เป็นวิธีในการปรับแต่งการค้นหาโดยใช้การสอบถามหรือการสืบค้นเฉพาะ ตัวอย่างเช่น หากมีคนต้องการรับข้อมูลเกี่ยวกับสภาพอากาศปัจจุบันในนิวยอร์กซิตี้ พวกเขาจะรวม"city=New York"ไว้ในส่วนข้อความค้นหาของ Uniform Resource Locator (URL)

เมื่อดำเนินการคำขอ GET ผลลัพธ์ที่ได้จะประกอบด้วยรหัสสถานะและเนื้อหา ในกรณีที่คำขอได้รับการดำเนินการสำเร็จ เนื้อหาการตอบสนองจะแสดงข้อมูลที่ต้องการซึ่งมีไว้สำหรับการใช้งานภายในเว็บไซต์หรือแอปพลิเคชัน

การใช้แอปพลิเคชัน JavaScript เพื่อดึงข้อมูลจาก REST API ที่แตกต่างกัน

ในการพัฒนาแอปพลิเคชัน JavaScript นี้ จำเป็นต้องดาวน์โหลดและติดตั้งโปรแกรมซอฟต์แวร์สองโปรแกรมแยกกันบนคอมพิวเตอร์ส่วนบุคคลของคุณ ได้แก่ NodeJS และ npm โชคดีที่เราได้เตรียมคำแนะนำโดยละเอียดเกี่ยวกับวิธีการดำเนินการกระบวนการนี้สำหรับผู้ใช้ทั้งระบบปฏิบัติการ Ubuntu และ Windows หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อนี้ โปรดดูบทความที่เกี่ยวข้องซึ่งสรุปขั้นตอนการติดตั้งทีละขั้นตอนสำหรับแต่ละแพลตฟอร์ม

หลังจากติดตั้งแพ็คเกจซอฟต์แวร์ดังกล่าวแล้ว จำเป็นต้องดำเนินการดังต่อไปนี้:

กรุณาเปิดสภาพแวดล้อมการพัฒนาแบบรวม (IDE) ของคุณ และเริ่มเทอร์มินัลที่อยู่ภายใน

หากต้องการเข้าถึงไดเร็กทอรีที่เก็บไฟล์แอปพลิเคชัน JavaScript ของคุณ ให้ใช้คำสั่ง cd ในเทอร์มินัลหรือหน้าต่างพร้อมรับคำสั่ง สิ่งนี้จะช่วยให้คุณสามารถเปลี่ยนไดเร็กทอรีการทำงานปัจจุบันและอำนวยความสะดวกในการนำทางไปยังตำแหน่งที่ต้องการ

⭐ เริ่มต้น npm ด้วยโค้ดบรรทัดต่อไปนี้:

 npm init -y 

การใช้งานฟังก์ชันหลักของแอปพลิเคชันนี้อาศัยโมดูล npm เฉพาะที่เรียกว่า"get"ซึ่งทำหน้าที่เป็นไลบรารีคำขอ HTTP สำหรับ NodeJS เพื่อให้แน่ใจว่าไลบรารี got นั้นรวมอยู่ในไฟล์แอปพลิเคชัน คุณสามารถใช้คำสั่งที่ให้มาเพื่อติดตั้งเวอร์ชันล่าสุดโดยอัตโนมัติ:

 npm install got@latest 

ขณะนี้คุณมีอิสระในการสร้างใบสมัครตามดุลยพินิจของคุณ

การใช้ Got Library เพื่อสร้างแอปพลิเคชันของคุณ

 // import the got library into your application
import got from 'got';

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

แอปพลิเคชันดังกล่าวสามารถดึงข้อมูลจาก RESTful API บนอินเทอร์เน็ตได้ อย่างไรก็ตาม มีความจำเป็นต้องจัดเตรียม Uniform Resource Locator (URL) ที่เหมาะสมของทรัพยากรที่เกี่ยวข้องไว้ล่วงหน้า

การรับข้อมูลจาก Weather REST API

Weatherbit.io API เป็นหนึ่งใน API สภาพอากาศที่ได้รับความนิยมมากขึ้น การแทรก URL ของ API นี้ลงในแอปพลิเคชัน JavaScript แบบง่ายด้านบนจะทำให้แอปทำงานได้

การใช้ Weatherbit.io REST API

 // import the got library into your application
const got = require('got');

// fetch data from an API and prints its body to the terminal
(async () => {
  try {
    const URL =
      'https://api.weatherbit.io/v2.0/current?lat=40.7128&lon=-74.0060&key=API_KEY';

    const response = await got(URL);
    const data = JSON.parse(response.body);
    console.log(data);
  } catch (error) {
    console.log(error.data);
  }
})();

URL สำหรับ Weatherbit.io API ได้รับการรวมเข้ากับแอปพลิเคชันแล้ว เพื่อให้แน่ใจว่าทำงานได้อย่างถูกต้อง จำเป็นต้องแก้ไของค์ประกอบภายใน URL ที่เรียกว่า “API\_KEY” คีย์นี้ได้มาจาก Weatherbit.io เมื่อลงทะเบียนบัญชีฟรี และทำหน้าที่เป็นองค์ประกอบสำคัญในการเข้าถึงบริการผ่าน API นี้

คุณอาจเลือกที่จะแก้ไขส่วนแบบสอบถามภายในรหัสที่ให้ไว้ ปัจจุบันโปรแกรมดึงข้อมูลสภาพอากาศที่พิกัดทางภูมิศาสตร์ที่ละติจูด 40.7128 องศาเหนือ และ-74.0060 ลองจิจูดลองจิจูดตะวันตก อย่างไรก็ตาม คุณมีความยืดหยุ่นในการป้อนพิกัดอื่นได้หากต้องการ แม้ว่าการดำเนินการดังกล่าวจะถือว่าเหมาะสม แต่คุณยังมีตัวเลือกในการค้นหาข้อมูลสภาพอากาศตามชื่อเมืองที่ต้องการแทน

หลังจากป้อนคีย์ API ของคุณในฟิลด์ที่กำหนดแล้ว ขณะนี้คุณได้รับอนุญาตให้เรียกใช้สคริปต์ JavaScript ของคุณ อินเทอร์เฟซควรแสดงข้อความที่คล้ายกับผลลัพธ์ต่อไปนี้บนพร้อมท์คำสั่งของคุณ:

/th/images/weather-api-response-body-part1.jpg /th/images/weather-api-response-body-part2.jpg

องค์ประกอบสำคัญบางประการของข้อมูลการตอบสนองเป็นที่น่าสังเกต ซึ่งรวมถึงแต่ไม่จำกัดเพียง:

เมืองที่ตั้งอยู่ในพิกัดตามยาวและละติจูดที่กำหนดจะแสดงด้วยชื่อ ซึ่งทำหน้าที่เป็นตัวระบุเฉพาะสำหรับพื้นที่เมืองนั้นภายในภูมิภาคทางภูมิศาสตร์ที่กว้างขึ้น

เวลาปัจจุบันแสดงเป็นเวลาสากลเชิงพิกัด (UTC) และแสดงชั่วโมงของวันในรูปแบบปี เดือน และวันที่โดยใช้ตัวเลขและตัวอักษรผสมกันเพื่อระบุทั้งปีและวันในสัปดาห์ (เช่น “ 2023-04-15T08:30”).

เอนทิตี “สภาพอากาศ” แสดงถึงโครงสร้างประกอบที่ประกอบด้วยสัญลักษณ์ที่มองเห็นซึ่งแสดงถึงสภาวะทางอุตุนิยมวิทยา ตัวระบุที่เป็นตัวอักษรและตัวเลขที่สอดคล้องกันซึ่งเรียกว่ารหัสสภาพอากาศ และการแสดงสถานะสภาพอากาศในปัจจุบันหรือที่คาดการณ์ไว้ด้วยวาจา

ดึงข้อมูลจาก News REST API

ส่วนนี้ใช้ Newsdata.io API เช่นเดียวกับ REST API ทั้งหมดบนเว็บ มันมีตัวเลือกการสืบค้นหลายตัวเลือก ซึ่งคุณสามารถใช้เพื่อดึงข่าวด่วนจากทั่วโลก ด้วย Newsdata.io API คุณสามารถรับข่าวสารจากประเทศใดประเทศหนึ่ง หรือในภาษา หมวดหมู่ และอื่นๆ

ด้วยการใช้งานแอปพลิเคชัน JavaScript ผู้ใช้อาจได้รับข้อมูลจาก News RESTful API เพียงแทนที่ URL ที่ให้ไว้ภายในแอปพลิเคชันสำหรับ URL ที่ระบุด้านล่าง:

 'https://newsdata.io/api/1/news?apikey=YOUR_API_KEY&country=us'

ในการเข้าถึงข่าวด่วนจากอเมริกาโดยใช้ Newsdata.io API เราจะต้องแทนที่ตัวยึดตำแหน่ง “YOUR\_API\_KEY” ภายใน URL ที่ระบุด้วยคีย์ API เฉพาะของพวกเขา ซึ่งพวกเขาจะได้รับเมื่อลงทะเบียนกับ Newsdata.io ได้สำเร็จ. ด้วยการเปลี่ยนพารามิเตอร์"ประเทศ"จาก"พวกเรา"เป็น"jp"ทำให้สามารถดึงบทความข่าวจากญี่ปุ่นแทนได้

เพย์โหลดข้อมูลที่ตามมาจะประกอบด้วยชุดของอินสแตนซ์ โดยแต่ละอินสแตนซ์จะห่อหุ้มข้อมูลที่เกี่ยวข้องซึ่งเกี่ยวข้องกับเหตุการณ์ปัจจุบันที่เกิดขึ้นภายในประเทศสหรัฐอเมริกา ในกรณีนี้ องค์ประกอบเริ่มต้นของการรวบรวมจะทำหน้าที่เป็นจุดเริ่มต้นสำหรับการวิเคราะห์และวาทกรรมต่อไป

/th/images/news-api-response-body-part1.jpg /th/images/news-api-response-body-part2.jpg

การใช้แอปพลิเคชัน Python เพื่อดึงข้อมูลจาก API ส่วนที่เหลือที่แตกต่างกัน

เป็นไปได้ที่จะรับข้อมูลสำหรับเว็บไซต์หรือโปรแกรมซอฟต์แวร์ที่ใช้ภาษาการเขียนโปรแกรมใดๆ ที่คุณมีความเชี่ยวชาญ ดังนั้น หากคุณไม่ต้องการใช้ JavaScript คุณอาจได้รับผลลัพธ์ที่เทียบเท่ากันผ่านการนำโซลูชันที่ใช้ Python ไปใช้ ซึ่งอาจเกี่ยวข้องกับการสร้าง Python Application Programming Interface (API) โดยใช้หนึ่งในเฟรมเวิร์กที่แพร่หลาย หรือการดึงข้อมูลจาก Representational State Transfer (REST) ​​API ที่ยังหลงเหลืออยู่ด้วยสคริปต์ที่ตรงไปตรงมา

ในการใช้ไลบรารีคำขอใน Python จำเป็นต้องจ้าง pip package manager และติดตั้งโมดูลดังกล่าว เมื่อติดตั้งแล้ว เราอาจพัฒนาโปรแกรมโดยใช้โค้ดที่ให้มา

 # import the requests library
import requests

# grabbing data using the requests library
URL = 'https://newsdata.io/api/1/sources?apikey=YOUR_API_KEY=us'
res = requests.get(URL)
json = res.json()

for key in json:
    print(key, json[key])

ในการใช้ฟังก์ชันการทำงานของ Application Programming Interface (API) จำเป็นต้องรวมตัวระบุเฉพาะของคุณ (คีย์ API) ภายในฟิลด์ที่กำหนด สิ่งนี้จะสร้างออบเจ็กต์การตอบสนองซึ่งคล้ายกับเอาต์พุตที่สร้างโดยการใช้งาน JavaScript อย่างใกล้ชิด โดยมีข้อมูลในรูปแบบที่เหมาะสมสำหรับการประมวลผลและการวิเคราะห์

/th/images/news-api-response-body-python.jpg

การรับข้อมูลสำหรับเว็บไซต์หรือแอปพลิเคชันของคุณค่อนข้างง่าย

ด้วยความพร้อมใช้งานของทรัพยากรที่เพียงพอ จึงจำเป็นอย่างยิ่งที่จะต้องตระหนักถึงประโยชน์ของแนวทางสถาปัตยกรรม REST ในการส่งเสริมการแยกส่วนระหว่างส่วนประกอบต่างๆ ความอเนกประสงค์ของวิธีนี้ช่วยให้นักพัฒนาสามารถใช้ภาษาการเขียนโปรแกรมที่หลากหลายในขณะที่เข้าถึงข้อมูลจาก RESTful API ที่หลากหลายที่มีให้ทางออนไลน์

จำเป็นอย่างยิ่งที่จะต้องตระหนักถึงความสำคัญของทั้งคีย์ API และการสืบค้นเมื่อพยายามรับข้อมูลที่แม่นยำซึ่งแอปพลิเคชันของคุณต้องการ