Inona no atao hoe API? Ary fanafohezana hafa: REST, SOAP, XML, JSON, WSDL
Rehefa mampiasa navigateur ianao, dia manao fangatahana amin'ny mpizara mpanjifa ny mpitety tranonkalanao, ary mamerina ny angona izay angonin'ny mpitety tranonkalanao sy mampiseho pejin-tranonkala iray ny mpizara. Ahoana anefa raha te hiresaka amin'ny mpizara hafa fotsiny ny mpizara na ny pejinao? Izany dia mitaky anao hanao fandaharana amin'ny API.
Inona no atao hoe API?
API dia fanafohezana ny Fampivoarana amin'ny fandaharana fampiharana (API). Ny API dia andiana fomba fanao, protocole ary fitaovana hanamboarana rindranasa azo ampiasaina amin'ny tranonkala sy finday. Ny API dia mamaritra ny fomba ahafahanao manamarina (tsy voatery), mangataka ary mandray angona avy amin'ny mpizara API.
Inona ny API?
Rehefa ampiasaina amin'ny tontolon'ny fampivoarana tranonkala, ny API dia mazàna andiana Hypertext Transfer Protocol (HTTP) mangataka hafatra, miaraka amin'ny famaritana ny firafitry ny hafatra valiny. Ny API amin'ny Internet dia mamela ny fampifangaroana serivisy maro ho fampiharana vaovao antsoina hoe mashup.
Wikipedia
Andeha isika hanome ohatra tsotra. Raha mampiasa fanafohezana rohy ianao mba hizarana lava URL mora kokoa, azonao atao ny mampiasa serivisy toy ny Bit.ly. Manoratra ny URL lava ianao, alefaso ny URL, ary mamaly ny URL fohy i Bit.ly.
Ahoana raha te hampiasa Bit.ly ao anatin'ny sehatry ny sehatra iray ampiasainao ianao? Angamba efa nanangana mpanamboatra kaody QR an-tserasera ianao fa mila URL lava nohafohezina aloha. Amin'ity tranga ity, azonao atao ny mandamina ny tranokalanao handefasana ny fangatahana amin'ny Bit.ly API ary avy eo maka ny valinteny hananganana ny kaody QR anao.
Ny dingana dia mandeha ho azy miaraka amin'ny API izay tsy ilaina ny fitsabahan'ny olombelona. Io no fahafahana omen'ny API ny fikambanana tsirairay. Ny API dia manampy ny rafitra amin'ny fampifanarahana ny angona, ny fanodinana ny fangatahana, ary ny fanaovana automatique izay atao amin'ny tanana.
Raha manana API matanjaka ny sehatra iray, dia midika izany fa afaka mampiditra sy manao automatique ianao - mitahiry fotoana amin'ny tanana, manatsara ny fahaiza-manao amin'ny fotoana tena izy amin'ny sehatrao, ary miantoka ny fahatsaran'ny marina - misoroka ny olana amin'ny fampidirana data amin'ny tanana.
Lahatsary momba ny fiasan'ny API
Raha mpamorona sehatra ianao, ny API dia manome fahafahana hanasaraka ny mpampiasa interface tsara anao amin'ny kajy sy ny angona angona. Nahoana no zava-dehibe izany? Rehefa mampivelatra ny mpampiasa interface tsara ianao dia afaka mampiasa ireo API navoakanao ho an'ny antoko fahatelo hafa. Azonao atao ny mamerina manoratra ny mpampiasa interface tsara anao nefa tsy manahy ny amin'ny fandravana ny fampidirana back-end.
Ahoana ny fomba hahitana API misy
Mitady API ho an'ny vokatra na serivisy manokana ve ianao? Ireto misy loharano sasany mitanisa ny API azonao ampiasaina manokana sy ara-barotra:
Ahoana ny fomba fitiliana API
Ny API dia fangatahana HTTP tsotra, toy ny navigateur. Ny fanavahana dia ny API matetika dia mitaky fomba fanamarinana sasany hanaovana ilay fangatahana. Raha tsy ilaina ny fanamarinana dia azonao atao ny mangataka amin'ny fametahana ny URL fangatahana amin'ny navigateur. Ity misy ohatra iray amin'ny fangatahana an open-source weather API.
Amin'ny fampiasana OSX, azonao atao ny mampiasa ny hamolaka baiko amin'ny varavarankely terminal. Rehefa vita ny baiko, cURL
dia hanao fangatahana GET amin'ny URL API nomena, ary ny valiny misy ny angona momba ny toetr'andro dia haseho ao amin'ny 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"
Amin'ny Windows, azonao atao ny mametraka curl
ary ampidiro ao amin'ny PATH an'ny rafitra mba hiasa ny baiko. Raha tsy izany, azonao atao ny mampiasa antoko fahatelo curl
executable ho an'ny Windows, toy ny cURL ho an'ny Windows or curl ho an'ny Windows avy amin'ny Winamp ary tanteraho toy izany koa ny baiko curl.
Ireto misy fiteny fanampiny vitsivitsy sy ny fomba ahafahanao manao fangatahana API:
- python: The
requests
Ny tranomboky dia matetika ampiasaina amin'ny fanaovana fangatahana HTTP amin'ny Python. Ity misy ohatra iray:
import requests
response = requests.get('https://example.com')
print(response.text)
- JavaScript (Node.js): The
axios
Ny tranomboky dia mpanjifa HTTP be mpampiasa ho an'ny Node.js. Ity misy ohatra iray:
const axios = require('axios');
axios.get('https://example.com')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
- JQuery: Ampiasao ny
$.ajax
or$.get
miasa hanao fangatahana HTTP. Ity misy ohatra iray amin'ny fanaovana fangatahana GET amin'ny fampiasana$.ajax
amin'ny jQuery:
$.ajax({
url: 'https://example.com',
method: 'GET',
success: function(response) {
console.log(response);
},
error: function(error) {
console.error(error);
}
});
- Ruby: Ny tranomboky mahazatra an'i Ruby dia ahitana ny
net/http
Module hanaovana fangatahana HTTP. Ity misy ohatra iray:
require 'net/http'
require 'uri'
uri = URI.parse('https://example.com')
response = Net::HTTP.get_response(uri)
puts response.body
- Java: Java dia manome tranomboky sy rafitra isan-karazany hanaovana fangatahana HTTP, toy ny
HttpURLConnection
(ao amin'ny tranomboky mahazatra), Apache HttpClient, na OkHttp. Ity misy ohatra iray amin'ny fampiasanaHttpURLConnection
:
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# na ASP.NET: Ampiasao ny
HttpClient
kilasy hanaovana fangatahana HTTP. Ity misy ohatra iray amin'ny fomba fanaovana fangatahana GET amin'ny fampiasanaHttpClient
amin'ny 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);
}
}
}
Tsarovy ny manampy ny ilaina using
fanambarana ary mitantana ireo maningana araka ny tokony ho izy rehefa miasa HttpClient
ao amin'ny fampiharana ASP.NET na C# anao.
- WordPress: Ny WordPress API dia manana ny asany manokana
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);
}
Ireo ohatra ireo dia mampiseho ny fomba fanaovana fangatahana GET fototra, fa ireo tranomboky ireo matetika dia manohana fomba HTTP samihafa (GET, POST, sns.)
Aza hadino ny mametraka ny fiankinan-doha na tranomboky ilaina amin'ny fiteny fandaharanao alohan'ny hampandehanana ny ohatra kaody.
Talend dia manana Fampiharana Chrome tsara hifaneraserana amin'ny API ary hahita ny valintenin'izy ireo raha te hanandrana API ianao nefa tsy manoratra fehezan-dalàna.
Ampio ny Talend's API Tester amin'ny Chrome
Inona no dikan'ny Acronym SDK?
SDK dia fanafohezana ny Kit ny mpamorona rindrambaiko.
Rehefa mamoaka ny API-ny ny orinasa iray, dia matetika misy antontan-taratasy miaraka mampiseho ny fomba hanamarinan'ny API, ny fomba hanontaniana azy, ary ny valiny mifanaraka amin'izany. Mba hanampiana ny mpamorona hanomboka ny lohany, matetika ny orinasa dia mamoaka Kit Developer Software (
SDK) mba hampidirana mora foana kilasy na ireo fiasa ilaina amin'ny tetikasa soratan'ny mpamorona.Inona no dikan'ny Acronym XML?
XML dia fanafohezana ny Fiteny fanamarihana eXtensible. XML dia fiteny marika ampiasaina hanodinana angon-drakitra amin'ny endrika izay mora vakiana sy azo vakiana amin'ny milina.
Ity misy ohatra iray amin'ny fisehoan'ny XML:
<?xml Malagasy Bible ="1.0"?> < vokatra id ="1"> Vokatra A Ny vokatra voalohany 5.00 tsirairay
Inona no dikan'ny Acronym JSON?
JSON dia fanafohezana ny Fanamarihana objectif JavaScript. JSON dia endrika fandrafetana angon-drakitra alefa miverina sy miverina amin'ny alàlan'ny API. JSON dia safidy hafa amin'ny XML. Ny REST API dia mamaly matetika kokoa amin'ny JSON - endrika mahazatra misokatra izay mampiasa lahatsoratra azo vakiana amin'ny olombelona mba handefasana zavatra angon-drakitra misy tsiron-tsarobidy.
Ity misy ohatra iray amin'ireo angona etsy ambony izay mampiasa JSON:
{ "ID": 1, "Title": "Vokatra A", "Famaritana": "Ny vokatra voalohany", "Vidiny": { "Vola": "5.00", "Isan-": "Tsirairay" } }
Inona no dikan'ny Acronym REST?
HAFA dia fanafohezana ny Famindrana ny fanjakana Representational fomba maritrano ho an'ny rafitra hypermedia zaraina.
Whew… fofonaina lalina! Azonao atao ny mamaky manontolo disertation eto, nantsoina hoe Architectural Styles sy ny Design des Architectures momba ny rindrambaiko miorina amin'ny tambajotra natolotra tamin'ny fahafaham-po amin'ny ampahany ny fepetra takiana ho an'ny diplaoma DOCTOR OF PHILOSOPHY momba ny informatika sy ny informatika avy amin'i Roy Thomas Fielding.
Misaotra, Dr. Fielding!
Midika inona ny Acronym SOAP?
SOAP is acronym for Fivarotana tsotra Access Access
Tsy programmer aho, fa raha ny hevitro dia manao izany ireo developer tia SOAP satria afaka mamorona code amin'ny interface programming mahazatra izay mamaky ny Fiteny Famaritana ny serivisy amin'ny Internet (wsdl) rakitra. Tsy mila manara-maso ny valiny izy ireo, efa vita amin'ny fampiasana ny WSDL. Ny SOAP dia mitaky valopy programmatika, izay mamaritra ny firafitry ny hafatra sy ny fomba fanodinana azy, andiana fitsipika momba ny famandrihana ho an'ny fanehoana ohatra ny karazana angona voafaritry ny fampiharana, ary fivoriambe iray hanehoana ny antso sy ny valinteny.