API ແມ່ນຫຍັງ? ແລະຕົວຫຍໍ້ອື່ນໆ: REST, SOAP, XML, JSON, WSDL
ເມື່ອທ່ານໃຊ້ຕົວທ່ອງເວັບ, ຕົວທ່ອງເວັບຂອງທ່ານເຮັດການຮ້ອງຂໍຈາກເຄື່ອງແມ່ຂ່າຍຂອງລູກຄ້າ, ແລະເຄື່ອງແມ່ຂ່າຍຈະສົ່ງຄືນຂໍ້ມູນທີ່ຕົວທ່ອງເວັບຂອງທ່ານປະກອບແລະສະແດງຫນ້າເວັບ. ແຕ່ຈະເປັນແນວໃດຖ້າທ່ານຕ້ອງການໃຫ້ເຄື່ອງແມ່ຂ່າຍຫຼືຫນ້າເວັບຂອງທ່ານເວົ້າກັບເຄື່ອງແມ່ຂ່າຍອື່ນ? ອັນນີ້ຕ້ອງການໃຫ້ທ່ານຂຽນໂປຣແກຣມໃຫ້ກັບ API.
API ໝາຍ ຄວາມວ່າແນວໃດ?
API ແມ່ນຕົວຫຍໍ້ ສຳ ລັບ ການໂຕ້ຕອບການຂຽນໂປແກຼມການສະ ໝັກ (API). API ແມ່ນຊຸດຂອງສິ່ງທີ່ເຮັດປະຈຳ, ໂປຣໂຕຄໍ ແລະເຄື່ອງມືໃນການສ້າງເວັບ ແລະແອັບພລິເຄຊັນທີ່ໃຊ້ໃນມືຖື. API ກໍານົດວິທີທີ່ທ່ານສາມາດພິສູດຢືນຢັນ (ທາງເລືອກ), ຮ້ອງຂໍແລະຮັບຂໍ້ມູນຈາກເຄື່ອງແມ່ຂ່າຍ API.
API ແມ່ນຫຍັງ?
ເມື່ອນໍາໃຊ້ໃນສະພາບການຂອງການພັດທະນາເວັບ, API ປົກກະຕິແລ້ວແມ່ນຊຸດທີ່ກໍານົດໄວ້ຂອງ Hypertext Transfer Protocol (HTTP) ຮ້ອງຂໍຂໍ້ຄວາມ, ພ້ອມກັບຄໍານິຍາມຂອງໂຄງສ້າງຂອງຂໍ້ຄວາມຕອບສະຫນອງ. Web APIs ອະນຸຍາດໃຫ້ປະສົມປະສານຂອງການບໍລິການຫຼາຍອັນເຂົ້າໄປໃນແອັບພລິເຄຊັນໃຫມ່ທີ່ເອີ້ນວ່າ mashups.
ວິກິພີເດຍ
ຂໍໃຫ້ສະຫນອງຕົວຢ່າງງ່າຍດາຍ. ຖ້າທ່ານໃຊ້ຕົວເຊື່ອມຕໍ່ສັ້ນເພື່ອແຈກຢາຍຍາວ URL ງ່າຍຂຶ້ນດີກວ່າ, ທ່ານອາດຈະໃຊ້ບໍລິການເຊັ່ນ: Bit.ly. ທ່ານພິມ URL ຍາວໃສ່, ສົ່ງ URL, ແລະ Bit.ly ຕອບດ້ວຍ URL ສັ້ນ.
ຈະເປັນແນວໃດຖ້າທ່ານຕ້ອງການໃຊ້ Bit.ly ພາຍໃນຂອບເຂດຂອງເວທີທີ່ທ່ານກໍາລັງໃຊ້? ບາງທີເຈົ້າໄດ້ສ້າງຜູ້ສ້າງລະຫັດ QR ອອນໄລນ໌ແຕ່ຕ້ອງການ URL ຍາວສັ້ນລົງກ່ອນ. ໃນກໍລະນີນີ້, ທ່ານສາມາດຂຽນໂປຼແກຼມເວັບໄຊທ໌ຂອງທ່ານເພື່ອສົ່ງຄໍາຮ້ອງຂໍໄປຫາ Bit.ly API ແລະຫຼັງຈາກນັ້ນເກັບກໍາການຕອບສະຫນອງເພື່ອສ້າງລະຫັດ QR ຂອງທ່ານ.
ຂະບວນການແມ່ນອັດຕະໂນມັດດ້ວຍ API ທີ່ບໍ່ຈໍາເປັນຕ້ອງມີການແຊກແຊງຂອງມະນຸດ. ນີ້ແມ່ນໂອກາດທີ່ APIs ໃຫ້ທຸກອົງການຈັດຕັ້ງ. APIs ຊ່ວຍລະບົບໃນການ synchronizing ຂໍ້ມູນ, ການຮ້ອງຂໍການປະມວນຜົນ, ແລະຂະບວນການອັດຕະໂນມັດໂດຍປົກກະຕິເຮັດດ້ວຍຕົນເອງ.
ຖ້າແພລະຕະຟອມມີ API ທີ່ເຂັ້ມແຂງ, ມັນຫມາຍຄວາມວ່າທ່ານສາມາດປະສົມປະສານແລະອັດຕະໂນມັດ - ປະຫຍັດເວລາຄູ່ມື, ປັບປຸງຄວາມສາມາດໃນເວລາທີ່ແທ້ຈິງຂອງແພລະຕະຟອມຂອງທ່ານ, ແລະຮັບປະກັນຄວາມຖືກຕ້ອງຂອງການປັບປຸງ - ຫຼີກເວັ້ນບັນຫາກັບການປ້ອນຂໍ້ມູນຄູ່ມື.
ວິດີໂອກ່ຽວກັບວິທີການເຮັດວຽກຂອງ APIs
ຖ້າທ່ານເປັນນັກພັດທະນາແພລະຕະຟອມ, APIs ຍັງສະເຫນີໂອກາດທີ່ຈະແຍກສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ຂອງທ່ານອອກຈາກການສອບຖາມແລະການສອບຖາມຖານຂໍ້ມູນ. ເປັນຫຍັງອັນນັ້ນຈຶ່ງສຳຄັນ? ໃນຂະນະທີ່ທ່ານພັດທະນາສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ຂອງທ່ານ, ທ່ານສາມາດນໍາໃຊ້ APIs ດຽວກັນທີ່ທ່ານເຜີຍແຜ່ສໍາລັບພາກສ່ວນທີສາມອື່ນໆ. ທ່ານສາມາດຂຽນຄືນໃນການໂຕ້ຕອບຜູ້ໃຊ້ຂອງທ່ານໂດຍບໍ່ມີການກັງວົນກ່ຽວກັບການທໍາລາຍການເຊື່ອມໂຍງ back-end.
ວິທີການຊອກຫາ API ທີ່ມີຢູ່
ເຈົ້າກໍາລັງຊອກຫາ API ສໍາລັບຜະລິດຕະພັນຫຼືບໍລິການສະເພາະບໍ? ນີ້ແມ່ນຊັບພະຍາກອນບາງຢ່າງທີ່ລາຍຊື່ APIs ທີ່ທ່ານສາມາດນໍາໃຊ້ສ່ວນບຸກຄົນແລະການຄ້າ:
ວິທີການທົດສອບ APIs
API ແມ່ນພຽງແຕ່ການຮ້ອງຂໍ HTTP, ຄືກັນກັບຕົວທ່ອງເວັບ. ຄວາມແຕກຕ່າງແມ່ນວ່າ API ມັກຈະຮຽກຮ້ອງໃຫ້ມີວິທີການກວດສອບຄວາມຖືກຕ້ອງເພື່ອເຮັດການຮ້ອງຂໍ. ຖ້າບໍ່ຈໍາເປັນການກວດສອບ, ທ່ານສາມາດຮ້ອງຂໍໂດຍການວາງ URL ການຮ້ອງຂໍໃນຕົວທ່ອງເວັບ. ນີ້ແມ່ນຕົວຢ່າງຂອງຄໍາຮ້ອງຂໍຕໍ່ Open-source API weather.
ການນໍາໃຊ້ OSX, ທ່ານສາມາດນໍາໃຊ້ໄດ້ cURL ຄໍາສັ່ງຢູ່ໃນປ່ອງຢ້ຽມ terminal. ຫຼັງຈາກການປະຕິບັດຄໍາສັ່ງ, cURL
ຈະເຮັດຄໍາຮ້ອງຂໍ GET ກັບ API URL ທີ່ສະຫນອງໃຫ້, ແລະການຕອບສະຫນອງທີ່ມີຂໍ້ມູນພະຍາກອນອາກາດຈະສະແດງຢູ່ໃນ Terminal.
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
executables ສໍາລັບ Windows, ເຊັ່ນ: cURL ສໍາລັບ Windows or curl ສໍາລັບ Windows ໂດຍ Winamp ແລະດໍາເນີນການຄໍາສັ່ງ curl ທີ່ຄ້າຍຄືກັນ.
ນີ້ແມ່ນບາງພາສາເພີ່ມເຕີມ ແລະວິທີທີ່ທ່ານສາມາດຮ້ອງຂໍ API ໄດ້:
- python: ໄດ້
requests
ຫໍສະຫມຸດແມ່ນຖືກນໍາໃຊ້ທົ່ວໄປສໍາລັບການຮ້ອງຂໍ HTTP ໃນ Python. ນີ້ແມ່ນຕົວຢ່າງ:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (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);
});
- JQuery: ການນໍາໃຊ້
$.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: ຫ້ອງສະຫມຸດມາດຕະຖານຂອງ 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, ແລະອື່ນໆ) ແລະສະຫນອງທາງເລືອກໃນການຕັ້ງຄ່າ headers, ສົ່ງ payloads ການຮ້ອງຂໍ, ແລະການຈັດການຄໍາຕອບໃນລັກສະນະກ້າວຫນ້າທາງດ້ານຫຼາຍ.
ຈື່ໄວ້ວ່າຕ້ອງຕິດຕັ້ງການເພິ່ງພາອາໄສ ຫຼືຫ້ອງສະໝຸດທີ່ຈຳເປັນສຳລັບພາສາການຂຽນໂປຼແກຼມຂອງເຈົ້າກ່ອນທີ່ຈະໃຊ້ຕົວຢ່າງລະຫັດ.
Talend ມີແອັບພລິເຄຊັນ Chrome ທີ່ດີສໍາລັບການພົວພັນກັບ APIs ແລະເບິ່ງຄໍາຕອບຂອງພວກເຂົາຖ້າທ່ານຕ້ອງການທົດສອບ APIs ໂດຍບໍ່ຕ້ອງຂຽນລະຫັດ.
ເພີ່ມຕົວທົດສອບ API ຂອງ Talend ໃສ່ Chrome
ຄຳ ວ່າ SDK ຫຍໍ້ມາຈາກຫຍັງ?
SDK ແມ່ນຫຍໍ້ ສຳ ລັບ ຊຸດນັກພັດທະນາຊອບແວ.
ເມື່ອບໍລິສັດເຜີຍແຜ່ API ຂອງຕົນ, ໂດຍທົ່ວໄປແລ້ວມີເອກະສານປະກອບທີ່ສະແດງໃຫ້ເຫັນວ່າ API ກວດສອບຄວາມຖືກຕ້ອງ, ມັນສາມາດສອບຖາມໄດ້ແນວໃດ, ແລະຄໍາຕອບທີ່ເຫມາະສົມ. ເພື່ອຊ່ວຍໃຫ້ຜູ້ພັດທະນາເລີ່ມຕົ້ນ, ບໍລິສັດມັກຈະເຜີຍແຜ່ຊຸດນັກພັດທະນາຊອບແວ (
SDK) ເພື່ອລວມເອົາຊັ້ນຮຽນຫຼືຫນ້າທີ່ທີ່ຈໍາເປັນເຂົ້າໃນໂຄງການທີ່ຜູ້ພັດທະນາຂຽນ.ຄຳ ວ່າ XML ຫຍໍ້ມາຈາກຫຍັງ?
XML ແມ່ນຫຍໍ້ ສຳ ລັບ eXtensible Markup ພາສາ. XML ເປັນພາສາມາກອັບທີ່ໃຊ້ເພື່ອເຂົ້າລະຫັດຂໍ້ມູນໃນຮູບແບບທີ່ທັງມະນຸດສາມາດອ່ານໄດ້ ແລະສາມາດອ່ານໄດ້ດ້ວຍເຄື່ອງຈັກ.
ນີ້ແມ່ນຕົວຢ່າງຂອງວິທີການ XML ທີ່ປາກົດ:
<?xml ຮຸ່ນ ="1.0"?> <ຜະລິດຕະພັນ id ="1"> ຜະລິດຕະພັນ A ຜະລິດຕະພັນ ທຳ ອິດ 5.00 ແຕ່ລະຄົນ
ຊື່ຫຍໍ້ JSON ແມ່ນຫຍັງ?
JSON ແມ່ນຫຍໍ້ ສຳ ລັບ ຈຸດປະສົງຂອງ JavaScript. JSON ແມ່ນຮູບແບບສໍາລັບໂຄງສ້າງຂໍ້ມູນທີ່ຖືກສົ່ງກັບໄປແລະຜ່ານ API. JSON ເປັນທາງເລືອກສໍາລັບ XML. REST APIs ມັກຈະຕອບສະຫນອງກັບ JSON - ຮູບແບບມາດຕະຖານເປີດທີ່ໃຊ້ຂໍ້ຄວາມທີ່ມະນຸດອ່ານໄດ້ເພື່ອສົ່ງວັດຖຸຂໍ້ມູນທີ່ປະກອບດ້ວຍຄຸນລັກສະນະ - ຄູ່ມູນຄ່າ.
ນີ້ແມ່ນຕົວຢ່າງຂອງຂໍ້ມູນຂ້າງເທິງໂດຍໃຊ້ JSON:
{ "id": 1, "ຫົວຂໍ້": "ຜະລິດຕະພັນ A", "ຄຳ ອະທິບາຍ": "ຜະລິດຕະພັນ ທຳ ອິດ", "ລາຄາ": { "ຈໍານວນ": "5.00", "ຕໍ່": "ແຕ່ລະ" } }
Acronym REST ຢືນຂື້ນເພື່ອຫຍັງ?
REST ແມ່ນຕົວຫຍໍ້ຂອງ ການໂອນຍ້າຍລັດທີ່ເປັນຕົວແທນ ແບບສະຖາປັດຕະຍະກໍາສໍາລັບລະບົບ hypermedia ແຈກຢາຍ.
Whew …ລົມຫາຍໃຈເລິກ! ທ່ານສາມາດອ່ານທັງ ໝົດ ການເຜີຍແຜ່ຢູ່ທີ່ນີ້, ທີ່ເອີ້ນວ່າແບບສະຖາປັດຕະຍະ ກຳ ແລະການອອກແບບຂອງເຄືອຂ່າຍສະຖາປັດຕະຍະ ກຳ ຊອບແວຣ໌ທີ່ ນຳ ສະ ເໜີ ໃນຄວາມພໍໃຈບາງສ່ວນຂອງຂໍ້ ກຳ ນົດໃນລະດັບຂອງ DOCTOR OF PHILOSOPHY ໃນຂໍ້ມູນຂ່າວສານແລະວິທະຍາສາດຄອມພິວເຕີໂດຍ Roy Thomas Fielding.
ຂອບໃຈ, ດຣ. Fielding!
ຄຳ ວ່າ SOAP ແມ່ນຫຍັງໃຊ້ເພື່ອຫຍັງ?
SOAP ແມ່ນຫຍໍ້ສໍາລັບ ອະນຸສັນຍາການເຂົ້າເຖິງວັດຖຸທີ່ງ່າຍດາຍ
ຂ້ອຍບໍ່ແມ່ນນັກຂຽນໂປລແກລມ, ແຕ່ໃນຄວາມຄິດເຫັນຂອງຂ້ອຍ, ນັກພັດທະນາທີ່ຮັກ SOAP ເຮັດແນວນັ້ນເພາະວ່າພວກເຂົາສາມາດພັດທະນາລະຫັດໄດ້ງ່າຍໃນການໂຕ້ຕອບການຂຽນໂປຼແກຼມມາດຕະຖານທີ່ອ່ານ. ພາສາຄໍານິຍາມການບໍລິການເວັບ (wsdl) ໄຟລ໌. ພວກເຂົາບໍ່ ຈຳ ເປັນຕ້ອງວິເຄາະການຕອບສະ ໜອງ, ມັນ ສຳ ເລັດແລ້ວໂດຍໃຊ້ WSDL. SOAP ຮຽກຮ້ອງໃຫ້ມີຊອງຈົດຫມາຍທີ່ມີໂປຼແກຼມ, ເຊິ່ງກໍານົດໂຄງສ້າງຂໍ້ຄວາມແລະວິທີການປຸງແຕ່ງມັນ, ຊຸດຂອງກົດລະບຽບການເຂົ້າລະຫັດສໍາລັບການສະແດງຕົວຢ່າງຂອງປະເພດຂໍ້ມູນທີ່ກໍານົດໄວ້ໂດຍແອັບພລິເຄຊັນ, ແລະສົນທິສັນຍາສໍາລັບການເປັນຕົວແທນຂອງການໂທແລະການຕອບສະຫນອງຂັ້ນຕອນ.