API nima? Va boshqa qisqartmalar: REST, SOAP, XML, JSON, WSDL
Brauzerdan foydalanganda brauzeringiz mijoz serveridan so'rovlar qiladi va server sizning brauzeringiz yig'adigan va veb-sahifani ko'rsatadigan ma'lumotlarni qaytarib yuboradi. Agar siz serveringiz yoki veb-sahifangiz boshqa server bilan gaplashishini xohlasangiz nima bo'ladi? Bu sizdan APIga dasturlashingizni talab qiladi.
API nimani anglatadi?
API - bu qisqartma Amaliy dasturlash interfeysi (API). API - bu internet va mobil qurilmalarga asoslangan ilovalarni yaratish uchun tartiblar, protokollar va vositalar to'plami. API siz qanday qilib autentifikatsiya qilishingiz (ixtiyoriy), API serveridan ma'lumotlarni so'rashingiz va qabul qilishingiz mumkinligini belgilaydi.
API nima?
Veb-ishlab chiqish kontekstida foydalanilganda, API odatda gipermatnni uzatish protokolining belgilangan to'plamidir (HTTP) javob xabarlari strukturasi ta'rifi bilan birga so'rov xabarlari. Web API-lar bir nechta xizmatlarni mashuplar deb nomlanuvchi yangi ilovalarga birlashtirishga imkon beradi.
Vikipediya
Keling, oddiy misol keltiraylik. Agar siz uzoqni tarqatish uchun havolani qisqartiruvchidan foydalansangiz URL kabi xizmatdan foydalanishingiz mumkin Bit.ly. Siz uzun URLni kiritasiz, URL manzilini yuborasiz va Bit.ly qisqa URL bilan javob beradi.
Bit.ly-dan foydalanayotgan platforma doirasida foydalanmoqchi bo'lsangiz-chi? Ehtimol, siz onlayn QR kod ishlab chiqaruvchisini yaratgan bo'lsangiz, lekin birinchi navbatda uzun URL manzillarini qisqartirishni xohlaysiz. Bunday holda, siz saytingizni Bit.ly API-ga so'rov yuborish uchun dasturlashingiz va keyin QR kodingizni yaratish uchun javobni olishingiz mumkin.
Jarayon API bilan avtomatlashtirilgan, bunda inson aralashuvi talab qilinmaydi. Bu API-lar har bir tashkilotga taqdim etadigan imkoniyatdir. API'lar tizimlarga ma'lumotlarni sinxronlashtirish, so'rovlarni qayta ishlash va odatda qo'lda bajariladigan jarayonlarni avtomatlashtirishda yordam beradi.
Agar platforma mustahkam APIga ega boʻlsa, demak, siz qoʻlda ishlash vaqtini tejash, platformalaringizning real vaqt rejimidagi imkoniyatlarini yaxshilash va yaxshilangan aniqlikni taʼminlash – maʼlumotlarni qoʻlda kiritish bilan bogʻliq muammolardan qochib, integratsiya va avtomatlashtirishingiz mumkin.
API qanday ishlashi haqida video
Agar siz platforma ishlab chiqaruvchisi bo'lsangiz, API'lar foydalanuvchi interfeysingizni hisoblash va ma'lumotlar bazasi so'rovlaridan ajratish imkoniyatini ham taklif qiladi. Nima uchun bu muhim? Foydalanuvchi interfeysini ishlab chiqishda siz boshqa uchinchi tomonlar uchun nashr qilgan bir xil API lardan foydalanishingiz mumkin. Siz foydalanuvchi interfeysini orqa tomon integratsiyasini buzish haqida tashvishlanmasdan qayta yozishingiz mumkin.
Mavjud API-larni qanday topish mumkin
Muayyan mahsulot yoki xizmat uchun API qidiryapsizmi? Shaxsan va tijorat maqsadlarida foydalanishingiz mumkin bo'lgan API ro'yxati keltirilgan ba'zi manbalar:
API-larni qanday sinab ko'rish kerak
API oddiygina HTTP so'rovidir, xuddi brauzer kabi. Farqi shundaki, so'rovni amalga oshirish uchun API ko'pincha autentifikatsiya usulini talab qiladi. Agar autentifikatsiya kerak bo'lmasa, so'rov URL manzilini brauzerga joylashtirish orqali ham so'rashingiz mumkin. Mana bir so'rovga misol ochiq manba ob-havo API.
OSX dan foydalanib, siz foydalanishingiz mumkin cURL terminal oynasida buyruq. Buyruqni bajargandan so'ng, cURL
taqdim etilgan API URL manziliga GET so'rovini yuboradi va ob-havo ma'lumotlarini o'z ichiga olgan javob Terminalda ko'rsatiladi.
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-da siz o'rnatishingiz mumkin curl
va buyruq ishlashi uchun uni tizimning PATH ga qo'shing. Shu bilan bir qatorda, siz uchinchi tomon xizmatlaridan foydalanishingiz mumkin curl
Windows uchun bajariladigan fayllar, masalan Windows uchun cURL or Winamp tomonidan Windows uchun curl va curl buyrug'ini xuddi shunday bajaring.
Quyida ba'zi qo'shimcha tillar va API so'rovini qanday qilish mumkin:
- python: The
requests
kutubxona odatda Pythonda HTTP so'rovlarini bajarish uchun ishlatiladi. Mana bir misol:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): The
axios
kutubxona Node.js uchun keng foydalaniladigan HTTP mijozidir. Mana bir misol:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: foydalaning
$.ajax
or$.get
HTTP so'rovlarini amalga oshirish funktsiyalari. Bu erda GET so'rovini ishlatish misoli keltirilgan$.ajax
jQuery'da:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Yoqut: Ruby standart kutubxonasi o'z ichiga oladi
net/http
HTTP so'rovlarini bajarish uchun modul. Mana bir misol:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Java HTTP so'rovlarini amalga oshirish uchun turli xil kutubxonalar va ramkalarni taqdim etadi, masalan
HttpURLConnection
(standart kutubxonada), Apache HttpClient yoki OkHttp. Bu erda foydalanishga misolHttpURLConnection
:
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# yoki ASP.NET: foydalaning
HttpClient
HTTP so'rovlarini bajarish uchun sinf. Bu erda GET so'rovini qanday qilish kerakligi misoli keltirilganHttpClient
C# da:
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);
}
}
}
Kerakli narsalarni qo'shishni unutmang using
bayonotlar va ular bilan ishlashda istisnolarni mos ravishda ishlating HttpClient
ASP.NET yoki C# ilovangizda.
- WordPress: WordPress API o'z funktsiyalariga ega
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);
}
Ushbu misollar asosiy GET so'rovini qanday bajarishni ko'rsatadi, lekin bu kutubxonalar odatda turli HTTP usullarini (GET, POST va boshqalar) qo'llab-quvvatlaydi va sarlavhalarni o'rnatish, so'rovning foydali yuklarini jo'natish va javoblarni yanada rivojlangan usulda qayta ishlash imkoniyatlarini taqdim etadi.
Kod misollarini ishga tushirishdan oldin dasturlash tilingiz uchun zarur bo'lgan bog'liqliklar yoki kutubxonalarni o'rnatishni unutmang.
Talend-da API-lar bilan ishlash va ularning javoblarini ko'rish uchun ajoyib Chrome ilovasi mavjud, agar siz API-larni kod qatorini yozmasdan sinab ko'rmoqchi bo'lsangiz.
Chrome-ga Talend's API Tester qo'shing
SDK qisqartmasi nimani anglatadi?
SDK - bu qisqartma Dastur ishlab chiqaruvchilar to'plami.
Kompaniya o'z API-ni nashr qilganda, odatda API autentifikatsiyasi, uni qanday so'rashi va tegishli javoblarni ko'rsatadigan qo'shimcha hujjatlar mavjud. Ishlab chiquvchilarni boshlashga yordam berish uchun kompaniyalar ko'pincha dasturiy ta'minotni ishlab chiquvchilar to'plamini nashr etadilar (
SDK) ishlab chiquvchi yozadigan loyihalarga sinf yoki kerakli funksiyalarni osongina kiritish.XML qisqartmasi nimani anglatadi?
XML - bu qisqartma Kengaytirilgan belgilash tili. XML maʼlumotlarni inson oʻqishi mumkin boʻlgan va mashina oʻqiy oladigan formatda kodlash uchun foydalaniladigan belgilash tilidir.
XML qanday paydo bo'lishiga misol:
<?xml versiya ="1.0"?> <mahsulot id ="1"> Mahsulot A Birinchi mahsulot 5.00 har bir
JSON qisqartmasi nimani anglatadi?
JSON - bu qisqartma Javascript ob'ekti belgisi. JSON API orqali oldinga va orqaga yuboriladigan ma'lumotlarni tizimlashtirish formatidir. JSON XMLga muqobildir. REST API ko'proq JSON bilan javob beradi - atribut-qiymat juftliklaridan iborat ma'lumotlar ob'ektlarini uzatish uchun odam o'qiy oladigan matndan foydalanadigan ochiq standart format.
JSON yordamida yuqoridagi ma'lumotlarga misol:
{ "id": 1, "sarlavha": "A mahsuloti", "tavsif": "Birinchi mahsulot", "narx": { "miqdor": "5.00", "per": "har biri" } }
REST qisqartmasi nimani anglatadi?
REST ning qisqartmasi hisoblanadi Vakillik davlat o'tkazmasi taqsimlangan gipermedia tizimlari uchun arxitektura uslubi.
Voy ... chuqur nafas! Siz to'liq o'qishingiz mumkin bu erda dissertatsiyaAxborot va kompyuter fanlari falsafasi doktori ilmiy darajasiga qo'yilgan talablarni qisman qondirgan holda "Arxitektura uslublari va tarmoqqa asoslangan dasturiy ta'minotni loyihalashtirish" deb nomlangan. Roy Tomas Filding.
Rahmat, doktor Filding!
SOAP qisqartmasi nimani anglatadi?
SOAP uchun qisqartma hisoblanadi Oddiy ob'ektga kirish protokoli
Men dasturchi emasman, lekin mening fikrimcha, SOAPni yaxshi ko'radigan ishlab chiquvchilar buni qilishadi, chunki ular standart dasturlash interfeysida kodni osongina ishlab chiqishlari mumkin. Veb-xizmatni aniqlash tili (wsdl) fayl. Ular javobni tahlil qilishlari shart emas, u allaqachon WSDL yordamida amalga oshirilgan. SOAP xabar strukturasini va uni qanday qayta ishlashni belgilaydigan dasturiy konvertni, dastur tomonidan aniqlangan ma'lumotlar turlarining misollarini ifodalash uchun kodlash qoidalari to'plamini va protsedura chaqiruvlari va javoblarini ifodalash uchun konventsiyani talab qiladi.