API nədir? Və Digər Akronimlər: REST, SOAP, XML, JSON, WSDL
Brauzerdən istifadə etdiyiniz zaman brauzeriniz müştərinin serverindən sorğular göndərir və server brauzerinizin topladığı və veb səhifəni göstərdiyi məlumatları geri göndərir. Bəs sadəcə serverinizin və ya veb səhifənizin başqa bir serverlə danışmasını istəsəniz nə olacaq? Bu, API üçün proqramlaşdırmağı tələb edəcək.
API nə deməkdir?
API üçün bir kısaltmadır Tətbiq proqramlaşdırma interfeysi (API). API veb-aktiv və mobil əsaslı proqramlar yaratmaq üçün rutinlər, protokollar və alətlər toplusudur. API, API serverindən autentifikasiyanı (isteğe bağlı), məlumat tələb edə və qəbul edə biləcəyinizi müəyyənləşdirir.
API nədir?
Veb inkişafı kontekstində istifadə edildikdə, API adətən müəyyən edilmiş Hipermətn Transfer Protokoludur (HTTP) cavab mesajlarının strukturunun tərifi ilə yanaşı sorğu mesajları. Veb API-ləri birdən çox xidmətləri mashup kimi tanınan yeni tətbiqlərə birləşdirməyə imkan verir.
Vikipediya
Sadə bir misal verək. Uzun paylamaq üçün bir keçid qısaldıcı istifadə etsəniz URL kimi bir xidmətdən istifadə edə bilərsiniz Bit.ly. Siz uzun URL-i daxil edirsiniz, URL-i təqdim edirsiniz və Bit.ly qısa URL ilə cavab verir.
İstifadə etdiyiniz platforma çərçivəsində Bit.ly-dən istifadə etmək istəsəniz nə olacaq? Ola bilsin ki, siz onlayn QR kod istehsalçısı yaratmısınız, lakin əvvəlcə uzun URL-lərin qısaldılmasını istəyirsiniz. Bu halda, siz saytınızı sorğunu Bit.ly API-yə göndərmək üçün proqramlaşdıra və sonra QR kodunuzu yaratmaq üçün cavabı əldə edə bilərsiniz.
Proses heç bir insan müdaxiləsi tələb olunmayan API ilə avtomatlaşdırılıb. Bu, API-lərin hər bir təşkilata təqdim etdiyi imkandır. API-lər sistemlərə məlumatların sinxronlaşdırılmasında, sorğuların işlənməsində və adətən əl ilə həyata keçirilən proseslərin avtomatlaşdırılmasında kömək edir.
Platformanın güclü API-si varsa, bu o deməkdir ki, siz həm inteqrasiya edə, həm də avtomatlaşdıra bilərsiniz - əl ilə vaxta qənaət edə, platformalarınızın real vaxt imkanlarını təkmilləşdirə və təkmilləşdirilmiş dəqiqliyi təmin edə bilərsiniz - məlumatların əl ilə daxil edilməsi ilə bağlı problemlərdən qaçın.
API-lərin necə işlədiyinə dair video
Əgər siz platforma tərtibatçısınızsa, API-lər həmçinin istifadəçi interfeysinizi hesablama və verilənlər bazası sorğularınızdan ayırmaq imkanı təklif edir. Bu niyə vacibdir? İstifadəçi interfeysinizi inkişaf etdirərkən, digər üçüncü tərəflər üçün dərc etdiyiniz eyni API-lərdən istifadə edə bilərsiniz. Siz arxa-end inteqrasiyasını pozmaqdan narahat olmadan istifadəçi interfeysinizi yenidən yaza bilərsiniz.
Mövcud API-ləri Necə Tapmaq olar
Müəyyən bir məhsul və ya xidmət üçün API axtarırsınız? Şəxsi və kommersiya məqsədləri üçün istifadə edə biləcəyiniz API-ləri sadalayan bəzi resurslar bunlardır:
API-ləri necə sınamaq olar
API sadəcə brauzer kimi HTTP sorğusudur. Fərqləndirmə ondan ibarətdir ki, API tez-tez sorğu vermək üçün bəzi autentifikasiya metodunu tələb edir. Əgər identifikasiyaya ehtiyac yoxdursa, hətta sorğu URL-ni brauzerə yerləşdirərək sorğu verə bilərsiniz. Budur bir sorğu nümunəsi açıq mənbəli hava API.
OSX istifadə edərək, istifadə edə bilərsiniz cURL terminal pəncərəsində əmr. Əmri yerinə yetirdikdən sonra, cURL
təqdim edilmiş API URL-yə GET sorğusu göndərəcək və hava proqnozu məlumatlarını ehtiva edən cavab Terminalda göstəriləcək.
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 quraşdıra bilərsiniz curl
və əmrin işləməsi üçün onu sistemin PATH-ə əlavə edin. Alternativ olaraq, üçüncü tərəfdən istifadə edə bilərsiniz curl
kimi Windows üçün icra olunanlar Windows üçün cURL or Winamp tərəfindən Windows üçün curl və eyni şəkildə curl əmrini yerinə yetirin.
Budur bəzi əlavə dillər və API sorğusu necə edə bilərsiniz:
- piton: The
requests
kitabxana adətən Python-da HTTP sorğuları etmək üçün istifadə olunur. Budur bir nümunə:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): The
axios
kitabxana Node.js üçün geniş istifadə olunan HTTP müştərisidir. Budur bir nümunə:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Istifadə edin
$.ajax
or$.get
HTTP sorğuları etmək üçün funksiyalar. GET sorğusunun istifadə edilməsinə dair bir nümunə$.ajax
jQuery-də:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Yaqut: Ruby'nin standart kitabxanasına daxildir
net/http
HTTP sorğuları üçün modul. Budur bir nümunə:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Java kimi HTTP sorğuları etmək üçün müxtəlif kitabxanalar və çərçivələr təqdim edir
HttpURLConnection
(standart kitabxanada), Apache HttpClient və ya OkHttp. Budur istifadə nümunəsiHttpURLConnection
:
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# və ya ASP.NET: Istifadə edin
HttpClient
HTTP sorğuları etmək üçün sinif. GET sorğusunun necə ediləcəyinə dair bir nümunəHttpClient
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);
}
}
}
Lazım olanları əlavə etməyi unutmayın using
ifadələri və istisnaları işləyərkən müvafiq şəkildə idarə edin HttpClient
ASP.NET və ya C# tətbiqinizdə.
- WordPress: WordPress API-nin öz funksiyaları var
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);
}
Bu nümunələr əsas GET sorğusunun necə yerinə yetirildiyini nümayiş etdirir, lakin bu kitabxanalar adətən müxtəlif HTTP üsullarını (GET, POST və s.) dəstəkləyir və başlıqların qurulması, sorğu yüklərinin göndərilməsi və cavabların daha təkmil şəkildə idarə edilməsi üçün seçimlər təqdim edir.
Kod nümunələrini işə salmazdan əvvəl proqramlaşdırma diliniz üçün lazım olan asılılıqları və ya kitabxanaları quraşdırmağı unutmayın.
Talend-in API-lərlə qarşılıqlı əlaqədə olmaq və API-ləri kod xətti yazmadan sınaqdan keçirmək istəyirsinizsə, onların cavablarını görmək üçün əla Chrome Tətbiqi var.
Chrome-a Talend's API Tester əlavə edin
Qısaldılmış SDK nə deməkdir?
SDK bir qısaltmasıdır Proqram təminatçıları dəsti.
Şirkət öz API-ni dərc etdikdə, adətən API-nin necə autentifikasiya edildiyini, onun necə sorğulana biləcəyini və müvafiq cavabları göstərən müşayiətedici sənədlər var. Tərtibatçıların işə başlamasına kömək etmək üçün şirkətlər tez-tez Proqram Tərtibatçı Kitini dərc edirlər (
SDK) asanlıqla sinif və ya lazımi funksiyaları tərtibatçının yazdığı layihələrə daxil etmək.Qısaltması XML nə deməkdir?
XML üçün bir kısaltmasıdır genişlənən biçimlendirme dili. XML həm insan, həm də maşın tərəfindən oxuna bilən formatda məlumatları kodlaşdırmaq üçün istifadə edilən işarələmə dilidir.
XML-in necə göründüyünə bir nümunə:
<?xml versiya ="1.0"?> <məhsul id ="1"> Məhsul A İlk məhsul 5.00 hər
JSON qısaltması nə deməkdir?
JSON bir qısaltmasıdır JavaScript Nesne Qeyd. JSON API vasitəsilə irəli və geri göndərilən məlumatların strukturlaşdırılması üçün formatdır. JSON XML-ə alternativdir. REST API-ləri daha çox JSON ilə cavab verir – atribut-dəyər cütlərindən ibarət məlumat obyektlərini ötürmək üçün insan tərəfindən oxuna bilən mətndən istifadə edən açıq standart format.
JSON istifadə edərək yuxarıdakı məlumatların nümunəsi:
{ "id": 1, "Title": "Məhsul A", "təsvir": "İlk məhsul", "qiymət": { "məbləğ": "5.00", "başına": "hər biri" } }
REST qısaltması nə deməkdir?
REST üçün qısaltmadır Nümayəndəlik Dövlət Transferi paylanmış hipermedia sistemləri üçün memarlıq üslubu.
Vay ... dərin nəfəs! Tamamını oxuya bilərsiniz burada dissertasiyatərəfindən İnformasiya və Kompüter Elmləri Fəlsəfəsi DOKTORU dərəcəsi tələblərinə qismən razı olaraq təqdim olunan Memarlıq Stilləri və Şəbəkə əsaslı Proqram Memarlarının Dizaynı adlanır. Roy Tomas Fieldinq.
Təşəkkürlər, Dr Fieldinq!
SOAP qısaltması nə deməkdir?
SOAP üçün bir qısaltma Sadə obyekt giriş protokolu
Mən proqramçı deyiləm, amma mənim fikrimcə, SOAP-ı sevən tərtibatçılar bunu edir, çünki onlar asanlıqla standart proqramlaşdırma interfeysində kod hazırlaya bilirlər. Veb Xidmət Tərif Dili (wsdl) fayl. Onlara cavabı təhlil etməyə ehtiyac yoxdur, bu, artıq WSDL-dən istifadə etməklə yerinə yetirilib. SOAP mesaj strukturunu və onun necə işlənəcəyini müəyyən edən proqram zərfini, proqram tərəfindən müəyyən edilmiş məlumat tiplərinin nümunələrini ifadə etmək üçün kodlaşdırma qaydaları toplusunu və prosedur çağırışlarını və cavablarını təmsil etmək üçün konvensiya tələb edir.