API คืออะไร? และคำย่ออื่นๆ: REST, SOAP, XML, JSON, WSDL
เมื่อคุณใช้เบราว์เซอร์ เบราว์เซอร์ของคุณจะส่งคำขอจากเซิร์ฟเวอร์ของไคลเอ็นต์ และเซิร์ฟเวอร์จะส่งข้อมูลกลับที่เบราว์เซอร์ของคุณรวบรวมและแสดงหน้าเว็บด้วย แต่ถ้าคุณต้องการให้เซิร์ฟเวอร์หรือหน้าเว็บของคุณสื่อสารกับเซิร์ฟเวอร์อื่นล่ะ สิ่งนี้จะทำให้คุณต้องตั้งโปรแกรมเป็น API
API ย่อมาจากอะไร?
API เป็นคำย่อของ อินเตอร์เฟซการเขียนโปรแกรมประยุกต์ (API). API คือชุดของกิจวัตร โปรโตคอล และเครื่องมือสำหรับการสร้างแอปพลิเคชันที่เปิดใช้งานบนเว็บและบนมือถือ API ระบุวิธีที่คุณสามารถรับรองความถูกต้อง (ทางเลือก) ขอและรับข้อมูลจากเซิร์ฟเวอร์ API
API คืออะไร
เมื่อใช้ในบริบทของการพัฒนาเว็บ โดยทั่วไปแล้ว API จะเป็นชุดที่กำหนดของ Hypertext Transfer Protocol (HTTP) ข้อความร้องขอพร้อมกับคำจำกัดความของโครงสร้างของข้อความตอบกลับ API ของเว็บช่วยให้สามารถรวมบริการต่างๆ เข้าด้วยกันเป็นแอปพลิเคชันใหม่ที่เรียกว่า mashups
วิกิพีเดีย
ขอยกตัวอย่างง่ายๆ หากคุณใช้ตัวย่อลิงก์เพื่อกระจายความยาว URL ง่ายกว่า ดีกว่า คุณอาจใช้บริการเช่น Bit.ly. คุณพิมพ์ URL แบบยาว ส่ง URL และ Bit.ly ตอบกลับด้วย URL แบบสั้น
จะเป็นอย่างไรถ้าคุณต้องการใช้ Bit.ly ภายในขอบเขตของแพลตฟอร์มที่คุณใช้อยู่ บางทีคุณอาจสร้างเครื่องสร้างโค้ด QR ทางออนไลน์แล้ว แต่ต้องการให้ URL ยาวสั้นลงก่อน ในกรณีนี้ คุณสามารถตั้งโปรแกรมไซต์ของคุณให้ส่งคำขอไปยัง Bit.ly API แล้วบันทึกการตอบสนองเพื่อสร้างโค้ด QR ของคุณ
กระบวนการนี้เป็นไปโดยอัตโนมัติด้วย API ซึ่งไม่จำเป็นต้องมีการแทรกแซงจากมนุษย์ นี่คือโอกาสที่ API มอบให้ทุกองค์กร API ช่วยระบบในการซิงโครไนซ์ข้อมูล การประมวลผลคำขอ และกระบวนการอัตโนมัติที่มักทำด้วยตนเอง
หากแพลตฟอร์มมี API ที่แข็งแกร่ง หมายความว่าคุณสามารถผสานรวมและทำให้เป็นอัตโนมัติได้ – ประหยัดเวลาด้วยตนเอง ปรับปรุงความสามารถแบบเรียลไทม์ของแพลตฟอร์มของคุณ และรับรองความถูกต้องแม่นยำยิ่งขึ้น – หลีกเลี่ยงปัญหากับการป้อนข้อมูลด้วยตนเอง
วิดีโอแสดงการทำงานของ API
หากคุณเป็นผู้พัฒนาแพลตฟอร์ม API ยังเสนอโอกาสในการแยกส่วนต่อประสานผู้ใช้ของคุณออกจากการคำนวณและการสืบค้นฐานข้อมูล เหตุใดจึงสำคัญ ขณะที่คุณพัฒนาอินเทอร์เฟซผู้ใช้ คุณสามารถใช้ API เดียวกับที่คุณเผยแพร่สำหรับบุคคลที่สามรายอื่นๆ ได้ คุณสามารถเขียนส่วนต่อประสานผู้ใช้ของคุณใหม่ได้โดยไม่ต้องกังวลว่าจะทำให้การรวมส่วนหลังเสียหาย
วิธีค้นหา API ที่พร้อมใช้งาน
คุณกำลังมองหา API สำหรับผลิตภัณฑ์หรือบริการเฉพาะหรือไม่? ต่อไปนี้เป็นแหล่งข้อมูลบางส่วนที่แสดงรายการ API ที่คุณสามารถนำไปใช้เป็นการส่วนตัวและในเชิงพาณิชย์ได้:
วิธีทดสอบ API
API เป็นเพียงคำขอ HTTP เช่นเดียวกับเบราว์เซอร์ ความแตกต่างคือ API มักต้องการวิธีการรับรองความถูกต้องบางอย่างเพื่อทำการร้องขอ หากไม่ต้องการการตรวจสอบสิทธิ์ คุณสามารถขอได้โดยการวาง URL คำขอในเบราว์เซอร์ นี่คือตัวอย่างคำขอไปยัง API สภาพอากาศแบบโอเพ่นซอร์ส.
เมื่อใช้ OSX คุณสามารถใช้ ม้วน คำสั่งในหน้าต่างเทอร์มินัล เมื่อดำเนินการตามคำสั่ง cURL
จะทำการร้องขอ GET ไปยัง API URL ที่ให้มา และการตอบสนองที่มีข้อมูลพยากรณ์อากาศจะแสดงในเทอร์มินัล
curl "https://api.open-meteo.com/v1/forecast?latitude=52.52&longitude=13.41¤t_weather=true&hourly=temperature_2m,relativehumidity_2m,windspeed_10m"
บน Windows คุณสามารถติดตั้ง curl
และเพิ่มเข้าไปใน PATH ของระบบเพื่อให้คำสั่งทำงาน หรือคุณสามารถใช้บุคคลที่สาม curl
โปรแกรมปฏิบัติการสำหรับ Windows เช่น ขดสำหรับ Windows or curl สำหรับ Windows โดย Winamp และเรียกใช้คำสั่ง curl ในทำนองเดียวกัน
ต่อไปนี้คือบางภาษาเพิ่มเติมและวิธีสร้างคำขอ API:
- หลาม: พื้นที่
requests
ไลบรารีมักใช้สำหรับสร้างคำขอ HTTP ใน Python นี่คือตัวอย่าง:
import requests
response = requests.get('https://example.com')
print(response.text)
- จาวาสคริปต์ (Node.js): พื้นที่
axios
ไลบรารีเป็นไคลเอนต์ HTTP ที่ใช้กันอย่างแพร่หลายสำหรับ Node.js นี่คือตัวอย่าง:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- เจคิวรี: ใช้
$.ajax
or$.get
ฟังก์ชันเพื่อสร้างคำขอ HTTP นี่คือตัวอย่างของการร้องขอ GET โดยใช้$.ajax
ใน jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- ทับทิม: ไลบรารีมาตรฐานของ Ruby ประกอบด้วย
net/http
โมดูลสำหรับการร้องขอ HTTP นี่คือตัวอย่าง:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Java มีไลบรารีและเฟรมเวิร์กต่างๆ สำหรับการร้องขอ HTTP เช่น
HttpURLConnection
(ในไลบรารีมาตรฐาน), Apache HttpClient หรือ OkHttp นี่คือตัวอย่างการใช้HttpURLConnection
:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class Main {
public static void main(String[] args) throws IOException {
URL url = new URL("https://example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}
- C# หรือ ASP.NET: ใช้
HttpClient
คลาสเพื่อสร้างคำขอ HTTP นี่คือตัวอย่างวิธีการส่งคำขอ GET โดยใช้HttpClient
ใน C #:
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
using (HttpClient client = new HttpClient())
{
HttpResponseMessage response = await client.GetAsync("https://example.com");
response.EnsureSuccessStatusCode(); // Ensure a successful response
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
}
อย่าลืมเพิ่มสิ่งที่จำเป็น using
คำสั่งและจัดการข้อยกเว้นอย่างเหมาะสมเมื่อทำงานกับ HttpClient
ในแอปพลิเคชัน ASP.NET หรือ C# ของคุณ
- WordPress: WordPress API มีหน้าที่ของตัวเอง
wp_remote_get
orwp_remote_post
:
$response = wp_remote_get('https://example.com');
if (is_wp_error($response)) {
$error_message = $response->get_error_message();
echo "Request failed: $error_message";
} else {
$body = wp_remote_retrieve_body($response);
$data = json_decode($body);
// Process the retrieved data
var_dump($data);
}
ตัวอย่างเหล่านี้แสดงวิธีดำเนินการคำขอ GET พื้นฐาน แต่โดยทั่วไปไลบรารีเหล่านี้สนับสนุนวิธี HTTP ที่แตกต่างกัน (GET, POST ฯลฯ) และมีตัวเลือกสำหรับการตั้งค่าส่วนหัว การส่งเพย์โหลดคำขอ และการจัดการการตอบสนองในลักษณะขั้นสูง
อย่าลืมติดตั้งการอ้างอิงหรือไลบรารีที่จำเป็นสำหรับภาษาโปรแกรมของคุณก่อนที่จะรันตัวอย่างโค้ด
Talend มีแอปพลิเคชัน Chrome ที่ยอดเยี่ยมสำหรับการโต้ตอบกับ API และดูการตอบสนอง หากคุณต้องการทดสอบ API โดยไม่ต้องเขียนโค้ด
เพิ่มตัวทดสอบ API ของ Talend ลงใน Chrome
Acronym SDK ย่อมาจากอะไร
SDK เป็นคำย่อของ ชุดนักพัฒนาซอฟต์แวร์.
เมื่อบริษัทเผยแพร่ API โดยทั่วไปจะมีเอกสารประกอบที่แสดงวิธีการตรวจสอบสิทธิ์ของ API วิธีการสอบถามและการตอบกลับที่เหมาะสม เพื่อช่วยให้นักพัฒนาสามารถเริ่มต้นได้ล่วงหน้า บริษัทต่างๆ มักจะเผยแพร่ Software Developer Kit (
SDK) เพื่อรวมคลาสหรือฟังก์ชันที่จำเป็นในโครงการที่นักพัฒนาเขียนได้อย่างง่ายดายAcronym XML ย่อมาจากอะไร
XML เป็นคำย่อของ ภาษามาร์กอัป eXtensible. XML เป็นภาษามาร์กอัปที่ใช้ในการเข้ารหัสข้อมูลในรูปแบบที่มนุษย์สามารถอ่านได้และคอมพิวเตอร์สามารถอ่านได้
นี่คือตัวอย่างลักษณะที่ XML ปรากฏ:
<?xml รุ่น ="1.0"?> <สินค้า id ="1"> สินค้าก ผลิตภัณฑ์แรก 5.00 แต่ละ
Acronym JSON ย่อมาจากอะไร
JSON เป็นคำย่อของ สัญกรณ์วัตถุ JavaScript. JSON เป็นรูปแบบสำหรับการจัดโครงสร้างข้อมูลที่ส่งไปมาผ่าน API JSON เป็นทางเลือกแทน XML REST API มักตอบสนองต่อ JSON ซึ่งเป็นรูปแบบมาตรฐานแบบเปิดที่ใช้ข้อความที่มนุษย์อ่านได้เพื่อส่งออบเจ็กต์ข้อมูลซึ่งประกอบด้วยคู่แอตทริบิวต์-ค่า
นี่คือตัวอย่างของข้อมูลด้านบนโดยใช้ JSON:
{ "id": 1, "หัวข้อ": "ผลิตภัณฑ์ A", "คำอธิบาย": "ผลิตภัณฑ์แรก", "ราคา": { "จำนวนเงิน": "5.00", "ต่อ": "แต่ละ" } }
Acronym REST ย่อมาจากอะไร?
REST เป็นตัวย่อของ การโอนสถานะตัวแทน รูปแบบสถาปัตยกรรมสำหรับระบบไฮเปอร์มีเดียแบบกระจาย
ต๊าย…หายใจลึก ๆ ! คุณสามารถอ่านทั้งหมด วิทยานิพนธ์ที่นี่เรียกว่ารูปแบบสถาปัตยกรรมและการออกแบบสถาปัตยกรรมซอฟต์แวร์บนเครือข่ายที่ส่งมาด้วยความพึงพอใจบางส่วนของข้อกำหนดสำหรับปริญญา DOCTOR OF PHILOSOPHY ในสาขาสารสนเทศและวิทยาการคอมพิวเตอร์โดย รอยโธมัสฟิลดิง.
ขอบคุณ ดร.ฟีลดิง!
Acronym SOAP ย่อมาจากอะไร?
สบู่ เป็นตัวย่อสำหรับ โปรโตคอลการเข้าถึงวัตถุอย่างง่าย
ฉันไม่ใช่โปรแกรมเมอร์ แต่ในความคิดของฉัน นักพัฒนาที่รัก SOAP ทำเช่นนั้น เพราะพวกเขาสามารถพัฒนาโค้ดได้อย่างง่ายดายในอินเทอร์เฟซการเขียนโปรแกรมมาตรฐานที่อ่าน ภาษานิยามบริการเว็บ (wsdl) ไฟล์. พวกเขาไม่จำเป็นต้องแยกวิเคราะห์การตอบสนอง ทำได้แล้วโดยใช้ WSDL SOAP ต้องการซองจดหมายแบบเป็นโปรแกรม ซึ่งกำหนดโครงสร้างข้อความและวิธีการประมวลผล ชุดของกฎการเข้ารหัสสำหรับการแสดงอินสแตนซ์ของประเภทข้อมูลที่กำหนดโดยแอปพลิเคชัน และแบบแผนสำหรับการแสดงการเรียกโพรซีเดอร์และการตอบกลับ