Hej tamo! Kao API (aktivni farmaceutski sastojak) dobavljač, često me pitaju što je API shema. Dakle, pomislio sam da ću vam trebati malo vremena da to razbijem na način koji je lako razumljiv.
Počnimo s osnovama. API shema je poput nacrta za API. To je detaljan opis kako API radi, koje podatke očekuje i koje će podatke vratiti. Zamislite to kao skup pravila i smjernica koje i pružatelj API -ja (to sam ja!) I potrošač API -ja (to ste vi ili vaš tim) trebaju slijediti kako bi se osigurala glatka i učinkovita komunikacija.


Zašto je API shema važna?
Pa, zamislite da gradite kuću. Ne biste samo počeli bacati cigle bez plana, zar ne? Isto vrijedi i za API -je. API shema pruža jasan i dosljedan način da programeri razumiju i koriste API. Pomaže u izbjegavanju nesporazuma, smanjuje šanse za pogreške i olakšava integriranje API -ja u različite aplikacije.
Na primjer, recimo da ste programer koji želi koristiti naš API za pristup informacijama oNano-karbonizirani Niobium, Micron Niobium Carbide, Ultra-Fine Niobium Carbide, HFC. API shema će vam reći točno koje su krajnje točke dostupne, koje parametre trebate proći i koji će format biti odgovor. To vam olakšava pisanje koda za interakciju s API -om i dobiti potrebne podatke.
Što je u API shemi?
API shema obično uključuje sljedeće komponente:
1. krajnje točke
To su URL -ovi koje možete nazvati da pristupite funkcionalnosti API -ja. Svaka krajnja točka predstavlja određenu operaciju, poput dobivanja popisa proizvoda, stvaranja nove narudžbe ili ažuriranja korisničkih podataka.
2. Formati zahtjeva i odgovora
Shema će definirati format podataka koje trebate poslati u svoje zahtjeve (npr. JSON, XML) i format podataka koje će API vratiti u svojim odgovorima. To osigurava da su i davatelj API -ja i potrošač na istoj stranici kada je riječ o rukovanju podacima.
3. Parametri
To su vrijednosti koje možete prenijeti na krajnju točku kako biste prilagodili operaciju. Na primjer, možete proslijediti ID proizvoda da biste dobili informacije o određenom proizvodu ili datumskom rasponu za filtriranje popisa narudžbi.
4. Rukovanje pogreškama
Shema će također opisati kako će API podnijeti pogreške. Definirat će kodove pogreške koje API može vratiti i što svaki kôd znači. To pomaže programerima da shvate što je pošlo po zlu kada se dogodi pogreška i kako to popraviti.
Vrste shema API -ja
Postoji nekoliko vrsta shema API -ja, svaka s vlastitim prednostima i slučajevima upotrebe. Neki od najčešćih uključuju:
OpenAPI Specifikacija (OAS)
Ovo je jedan od najpopularnijih standarda za dokumentiranje RESTful API -ja. Koristi yaml ili json datoteku za opisivanje krajnjih točaka, formata zahtjeva i odgovora API -ja, parametara i još mnogo toga. OAS je široko podržan alatima i okvirima, što olakšava generiranje dokumentacije, SDK -a i testnih slučajeva.
Shema grafikona
GraphQL je jezik upita za API -ji koji omogućuje klijentima da zatraže točno potrebne podatke. GraphQL shema definira vrste podataka koje API može vratiti i operacije koje se mogu izvesti na tim vrstama. Pruža fleksibilniji i učinkovitiji način pristupa podacima u usporedbi s tradicionalnim RESTful API -jem.
Puferi protokola
Protokolni međuspremnici (ProtoBUF) je jezično-agnostički binarni serializacija format koji je razvio Google. Koristi datoteku sheme za definiranje strukture podataka koji će se serializirati i deserializirati. ProtoBUF je poznat po visokim performansama i maloj veličini poruka, što ga čini popularnim izborom za API -ji koji trebaju podnijeti velike količine podataka.
Kako koristimo sheme API -ja kao dobavljač API -ja
Kao dobavljač API -ja, oslanjamo se na sheme API -ja kako bismo osigurali da su naši API -ji jednostavni za upotrebu i integriranje. Koristimo specifikaciju OpenAPI za dokumentiranje naših API -ja, što nam omogućava da pružimo jasnu i detaljnu dokumentaciju za naše kupce. Ova dokumentacija uključuje podatke o krajnjim točkama, formatima zahtjeva i odgovora, parametrima i rukovanju pogreškama.
Također koristimo API sheme za potvrđivanje zahtjeva koje dobivamo od naših kupaca. Provjeravanjem dolaznih zahtjeva protiv sheme možemo osigurati da su podaci u ispravnom formatu i da li su prisutni svi potrebni parametri. To pomaže u sprječavanju pogrešaka i osigurava da su naši API -ji pouzdani i sigurni.
Pored toga, koristimo API sheme za generiranje SDK -ova i testiranja. Korištenjem alata koji podržavaju OpenAPI specifikaciju, možemo automatski generirati kôd na različitim programskim jezicima, što našim kupcima olakšava integriranje naših API -ja u njihove aplikacije. Također koristimo shemu za generiranje testnih slučajeva, što nam pomaže da osiguramo da naši API -ji ispravno rade i da ispunjavaju zahtjeve naših kupaca.
Primjeri u stvarnom svijetu
Pogledajmo neke primjere iz stvarnog svijeta kako se koriste sheme API-ja.
Primjer 1: Korištenje našeg API -ja za dobivanje informacija oVisokokvalitetni Thioxanthen-9-One CAS: 492-22-8
Pretpostavimo da ste istraživač koji želi dobiti informacije o određenom kemijskom spoju. Naš API možete koristiti za pristup podacima kao što su svojstva spoja, metode sinteze i sigurnosne informacije. API shema će vam točno reći koju krajnju točku nazvati, koji parametri proći (npr. CAS broj) i u kojem će formatu biti odgovor.
Evo primjera zahtjeva za naš API pomoću Curl:
Curl -x dobijte "https://api.oursite.com/compounds/492-22-8" -h "prihvaćanje: aplikacija/json"
Odgovor bi mogao izgledati ovako:
{"Name": "Thioxanthen-9-One", "Cas_Number": "492-22-8", "Molecular_weight": 212.26, "Svojstva": {"Melting_Point": "85-87 ° C", "Propadanje": "365.7 ° C AT 760 MMH X s y u prisutnosti z ... "," Metoda 2: Koristite sljedeće uvjete reakcije ... "]}
Primjer 2: Stvaranje nove narudžbe zaCAS br.455943-61-0 Velika opskrba
Ako ste farmaceutska tvrtka koja želi naručiti za veliku opskrbu određenom API -jem, možete koristiti naš API za izradu nove narudžbe. API shema definirat će krajnju točku za stvaranje naloga, format zahtjeva (npr. Pojedinosti o narudžbi, količina i adresa isporuke) i format odgovora (npr. ID narudžbe i poruka za potvrdu).
Evo primjera zahtjeva za naš API pomoću Python:
Uvoz zahtjeva url = "https://api.oursite.com/orders" data = {"product_id": "455943-61-0", "količina": 1000, "dostava_address": "123 Main ST, Usa"} HEATSES = Pods ":" Aplikat ": ispis (odgovor.json ())
Odgovor bi mogao izgledati ovako:
{"Order_id": "123456", "poruka": "Narudžba je uspješno stvorena. Vaša će narudžba biti obrađena u roku od 24 sata." }
Zaključak
Zaključno, API shema je ključni dio bilo kojeg API -ja. Omogućuje jasan i dosljedan način da programeri razumiju i koriste API, smanjuje šanse za pogreške i olakšava integriranje API -ja u različite aplikacije. Kao dobavljač API -ja, oslanjamo se na API sheme kako bismo osigurali da su naši API -ji jednostavni za korištenje, pouzdani i sigurni.
Ako ste zainteresirani za korištenje naših API -ja za pristup informacijama o našim proizvodima ili za naručivanje, voljeli bismo vas čuti. Bez obzira jeste li istraživač, farmaceutska tvrtka ili programer, naši API -ji mogu vam pružiti potrebne podatke i funkcionalnost. Dakle, nemojte se ustručavati da nam se obratimo kako bismo razgovarali o vašim zahtjevima i započeli postupak nabave. Tu smo da vam pomognemo da najbolje iskoristite naše API -je i kako bismo osigurali da je vaše iskustvo s nama pozitivno.
Reference
- Fielding, RT (2000). Arhitektonski stilovi i dizajn mrežnih softverskih arhitektura. Sveučilište u Kaliforniji, Irvine.
- Khare, R., i Frystyk, H. (1997). Protokol prijenosa hiperteksta - HTTP/1.1. RFC 2068.
- Lindley, S., & Miller, B. (2015). GraphQL: Jezik upita podataka. Facebook.
- Varda, A. (2008). Protokolni međuspremnici: Googleov format razmjene podataka. Blog Google Open Source.