ebben a cikkben fogunk beszélni a legjobb technológia közötti kölcsönhatás szoftver és tesztelje a legnépszerűbb nyelv létrehozására szoftver.
- mi a Java REST API?
- rendben, de mi is pontosan egy API?
- hogyan működik ez a felület?
- típusú API kérések
- de mit jelent a pihenés?
- előfeltételek
- áttekintés
- Hogyan kezdjük el használni az API-kat Java
- iratkozzon fel a RapidAPI
- Keressen egy API-t
- iratkozzon fel az API
- teszteljük a végpontokat
- Adatok lekérése az API használatával
- kap egy JSON választ
- Példa: A Java & Api-Kijelző más típusú Adatok
- Következtetés
- FAQ
- Hogyan lehet létrehozni egy API-t, Java-ban?
- A Java egy API?
- a JSON egy API?
mi a Java REST API?
Ez egy nehéz kérdés, ezért néhány részre osztjuk. A Java a világ egyik legnépszerűbb programozási nyelve. A TIOBE rangsor (amely a nyelveket a népszerűségi index alapján rendeli meg) szerint valójában ez a legnépszerűbb. Ennek számos oka van, de inkább azt a tézist részesítjük előnyben, hogy a Java széles körben elterjedt, könnyen telepíthető, és rendelkezik egy” egyszer írj, fuss mindenhol ” mágikus eszköztárral.
inkább API-t szeretne építeni? Nézze meg, hogyan hozhat létre API-t Java
rendben, de mi is pontosan egy API?
Nos, az API az alkalmazásprogramozási felületet jelenti.
röviden, ez egy szabálykészlet, amely szabályozza a szoftver közötti interakciót(azaz egy olyan objektumot, amely valamilyen feladatot kap, amely ezt a feladatot adja). Az API-k lehetővé teszik számunkra, hogy mélyen belemerüljünk néhány harmadik oldali szoftver forráskódjába, miközben lehetővé teszik számunkra, hogy gyorsan és könnyen használhassuk kiváltságaikat.
hogyan működik ez a felület?
mindenekelőtt egy API-nak rendelkeznie kell egy host-URL-lel (vagy alap URL-lel), amely a fő cím, amellyel kölcsönhatásba lép.
továbbá, API-k egy előre meghatározott végpontok-egyedi címek belül host-URL, felelős a funkcionalitás. Ezenkívül az API-knak olyan dokumentációval kell rendelkezniük, amely megmagyarázza az összes végpontot, a visszaküldött értékek típusát stb.
miután talált egy érdekes API-t és elolvasta a dokumentációt, kérést kell küldenie – egyetlen feladatot a kiszolgálónak (fogadó oldal).
metaforikusan olyan, mint két ember közötti beszélgetés: valaki (Ön) feltesz egy kérdést (kérés), a beszélgetőpartner (végpont) válaszol (válasz).
típusú API kérések
sok különböző típusú kérések API lehetne kezelni, de itt vannak a leggyakrabban használt is:
- GET – visszaad adatokat a szerverről. A legnépszerűbb kérés egyébként.
- POST-új adatokat ad hozzá a kiszolgálón. Gyakran ezt a típust használják fájlok regisztrálására vagy feltöltésére.
- PUT / PATCH-frissíti az adatokat, hasznos kérés, de nem annyira keresett.
- törlés-eltávolítja az adatokat a szerverről.
Oké, megvan az első és az utolsó szó jelentése a “Java REST API” – ban.
de mit jelent a pihenés?
Ez a szoftverkommunikáció stílusa, amely segít az ügyfélnek abban, hogy a szükséges adatokat a megfelelő állapotban megjelenítse (REST-representational state transfer).
tehát amikor REST API – t mondunk, azt értjük- API-k, amelyek nem csak a kért adatokat adják vissza, hanem felkészítik a további munkára.
de hogyan hozhatunk létre egy RESTful API-t? Minden, ami szükséges – egy csomó építészeti korlátok:
- kliens-szerver architektúra-egyértelmű elválasztás két oldalon. Az ügyfél kéréseket küld, majd megvárja a választ; a szerver ezután az ellenkező szerepet veszi át. Ennek a kényszernek a fő oka-az egyik oldal nem törődik semmivel, kivéve az interakció helyes formátumát (nem az a probléma, hogy a szerver hogyan hajtja végre a kérését, és fordítva).
- hontalanság – minden egyes kérés függetlensége minden korábbi és jövőbeli kéréstől. Például, ha elküldené a kérdést: “Mi Charlie vezetékneve?”, majd kövesse nyomon a ” Hány éves?”, a szerver nem lenne képes válaszolni az utóbbira. A szerver nem ment el semmilyen információt az ügyféltől, ezért minden kérésben megköveteli.
- gyorsítótárazás – a szerver helyett az ügyfél (sőt kellene is) menthet néhány adatot a helyi tárolóban (gyorsítótár). Növeli a termelékenységet, amennyire a kérelmek száma kisebb lesz.
- réteges rendszer – a kiszolgálónak rétegeket kell tartalmaznia a folyamat különböző részeihez. Ez azért hasznos, mert a rétegek semmit sem tudnak egymásról, a szerver pedig könnyen skálázható új rétegekkel (pl. biztonság).
- egységes felület – minden végpontnak egyedi címmel kell rendelkeznie. Egyszerű, hasznos és szükséges.
most, hogy minden információnk van a Java RESTful API-król, próbáljuk ki!
előfeltételek
először Java-t kell telepítenie a gépére.
is, akkor kell egy Maven package builder a könnyű telepítés, valamint a site-csomagok. Ezen kívül csak az Unirest könyvtárra lesz szükségünk ahhoz, hogy problémamentesen, néhány sorban kéréseket tegyünk.
itt megnézheti a kód példáját, amely szabványos modulok kérését teszi:
elég nehéznek tűnik, ugye? Különösen InputStream, mint egyfajta visszaadott érték (azt tovább kell feldolgozni).
nézzük meg ugyanazt a példát az Unirest:
Voila! A válasz várható típusát azonnal hozzárendelheti,és vele együtt dolgozhat.
használhatja Unirest segítségével Maven, majd hozzon létre egy Java Maven projekt, majd keresse meg a pom.xml fájl-ez azt mutatja, minden függőségek, eszközök a projekt. Írja be az XML kód következő részét a <dependencies>
tag:
<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>
további részletes információk a függőségekről itt találhatók.
most már lehet építeni a projekt következő parancs terminal (legyen óvatos, használja csak a fő mappában, mert pom.az xml-nek láthatónak kell lennie a Maven számára):
mvn package
most már készen áll a Java használatára az API-kkal való interakcióhoz.
áttekintés
mielőtt elkezdenénk, meg kell találnunk egy egyszerű API-t a teszteléshez. Néha nehéz megtalálni ingyenes, hasznos API tesztelési célokra. A RapidAPI-nál több mint 10.000 API-t találsz, amivel tesztelheted és Kapcsolatba léphetsz. Itt tesztelheti programozási képességeit, hasznos alkalmazásokat készíthet, sőt saját API-kat is létrehozhat.
Hogyan kezdjük el használni az API-kat Java
iratkozzon fel a RapidAPI
mint már említettük, RapidAPI több mint 10.000 API-k az induláshoz. Több mint 1 millió fejlesztő használja a platformját, ez az egyik legnépszerűbb és legmegbízhatóbb API platform.
tehát kattintson ide az induláshoz, ingyenes.
Keressen egy API-t
most, hogy van felhasználói fiókja, keressünk egy API-t, amellyel játszhat.
On RapidAPI.com az API-kat böngészéssel találhatja meg:
- kategóriák (példa: Játék API-k)
- keresés
- kurátora gyűjtemények a honlapon
próbáljuk meg keresni az IMDb API-t, hogy néhány információt a TV-ről és a filmekről:
iratkozzon fel az API
az API használatának megkezdéséhez először feliratkoznia kell rá. (Tipp:van egy freemium terv, amely lehetővé teszi az 1000 ingyenes API kéréseket/nap). Meg kell adnia hitelkártyáját abban az esetben, ha túlterhelés merül fel.
ha inkább ingyenes API-kat szeretne kipróbálni (hitelkártya nélkül), keresse meg ezt a gyűjteményt.
miután feliratkozott, készen áll a végpontok tesztelésére.
teszteljük a végpontokat
fedezzük fel az összes végpontot, amelyek ebben az API-ban vannak. Nézd a bal oldalon a az API oldal:
Az IMDb-n API csak két végpont:
-
GET By Search
– keresés az IMDb adatbázisában által query string -
GET By ID or Title
– részletes tájékoztatás a konkrét cím (magában foglalja az információ, hogy a film/tv, öntött, termelés, stb.).
az API egyik végpontján töltse ki a szükséges paramétereket, majd kattintson a “teszt végpont”gombra.
A jobb oldalon látható a töredék rész, ahol a fejlesztők megmutatják, hogyan lehet csatlakozni ehhez az API-hoz bármilyen támogatott nyelvvel.
ehhez az API-hoz két fejlécet kell hozzáadnunk (API egyedi név és saját RapidAPI token). Az összes többi param a konkrét végponttól függ. Fedezzük fel az összes végpontot, amelyek ebben az API-ban vannak. Nézze meg a főoldal bal oldalát.
Adatok lekérése az API használatával
oké, készen áll, itt az ideje a kódolásnak. Nézzünk meg mindent néhány híres filmről, amely az imdb adatain belül létezik. Vissza a kódhoz, majd importálja a következő dolgokat:
itt importáljuk aURLEncoder
az elküldendő paramok elkészítéséhez, és 3 szükséges objektumot az Unirest könyvtárból:
- a válasz kezeléséhez (HttpResponse),
- JSON-type hozzárendelése (JsonNode),
- és GET kérés (Unirest) készítése.
most hozzuk létre a fő osztályt, ahol az összes kód lesz:
public class App{ public static void main( String args ) throws Exception { //Here will be your code }}
ne felejtsük el a kivételt. Meg kell kezelni az összes figyelmeztetések, hibák javítása a projekt.
Oké, most hozzunk létre néhány karakterláncváltozót bizonyos folyamatok automatizálásához:
most, hogy létrehoztuk a lekérdezést, küldjünk egy kérést, és kezeljük a választ:
mint látható, ez elég egyszerű.
kérés létrehozásához használjon egy páratlan könyvtárat a GET funkcióval.
ügyeljen a fejlécekre – hozzáadhatjuk őket pontok használatával a felosztáshoz.
miután a HttpResponse
objektummal kezeltük a válaszát, láthatjuk az eredményt.
először println
A válasz állapotkódját mutatja-egy rövid számot, amely a helyzetet a kért műveleteinkkel magyarázza.
esetünkben, ha minden rendben van, vissza kell adnia egy 200 – OK állapotot.
a második println
viszont az egyik válaszfejlécet mutatja-“Content-Type”.
lássuk, mit kell kapnunk a RapidAPI beépített API konzoljával. Csak írja be a lekérdezést az űrlapmezőkbe, majd kattintson a”teszt végpont” gombra:
ugyanazt az eredményt kell látnia, mint a fenti képernyőképen.
most nézzük meg a kódunkat. Futtassa a programot, és látnia kell:
200
kap egy JSON választ
az előző kód szakaszban egy JsonNode
objektumot használtunk a JSON formátum típusának a válaszhoz való hozzárendeléséhez.
a probléma az, hogy az alapértelmezett jsonnode objektum egyetlen sorban kinyomtatja az adatokat, ami meglehetősen nehéz megérteni. Adjunk hozzá egy könyvtárat az adatok szépítéséhez – GSON. Módosítsa a pom.xml fájl a következő függőséggel:
<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>
most adjunk hozzá néhány importvonalat a *importálási szakaszában.java fájl:
Ezek az objektumok segítenek nekünk a JSON nyomtatásában. Oké, most felhívjuk a végpont egy válasz:
Ha minden jól megy, kell a következő válasz:
Példa: A Java & Api-Kijelző más típusú Adatok
talán emlékszel rá, hogy a Content-Type fejléc az előző kérések volt az “application/json”, de mi van, ha el akarjuk küldeni/fogadni valamit, amit nem lehet feldolgozni JSON?
például egy fájl vagy kép?
próbáljuk meg ezt bemutatni a Meme Generator API-val.
Meme Generator API 5 végpontból áll:
- Generál mém
- Get fonts
- Kép Feltöltés
- Feltöltés font
- Get képek
használjuk a Generál mém végpont:
Először is, hadd módosítsa a behozatal hozzáadásával ezeket a sorokat, hogy a tetején a kód:
import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;
Most, illessze be a következő kódrészletet belül a fő módszer:
Itt kezeljük nyers test a válasz a InputStream
objektum. A következő lépés a BufferedImage
objektum – dinamikus kép a program memóriájában.
végül hozzunk létre (vagy frissítsünk) egy képet.jpg fájlt, majd mentse puffer benne. Ennek a következőket kell kiadnia:
amint láthatja, az API visszatér egy képobjektumhoz.
Hogy a tényleges kép, nézzük meg a fő mappát a projekt, illetve meg kell találni:
Következtetés
ebben Az útmutatóban, tanulmányoztuk, hogyan kell használni RapidAPI, hogy egy izgalmas, hasznos rest API Java alkalmazások, majd megpróbáltam néhány hasznos APIs elszámolási kulcs pillanatok ezt a technikát.
- Hogyan Kell Használni Egy API-t,
- A Python
- A PHP
- A JavaScript
- – Val Reagál
- Axios
- A NodeJS
- A VueJS
- – Val Reagál
- A Ruby on Rails
- A C#
- a Google táblázatok
- Hogyan lehet Létrehozni egy API a Java
- Lista a rest API-Oktató
- Hogyan kell használni a Twitter API a Java
- Hogyan kell használni a Skyscanner API a Java
- Hogyan kell használni a Yahoo Finance API a Java
FAQ
Hogyan lehet létrehozni egy API-t, Java-ban?
nézze meg ezeket a Java API útmutatókat az API létrehozásáról.
A Java egy API?
a Java egy programozási nyelv.a
API-k olyan definíciók és protokollok, amelyek lehetővé teszik a technológiai termékek és szolgáltatások egymással való kommunikációját.
egy Java alkalmazásprogramozási felület (API) hivatkozhat a Java development kit (JDK) vagy API-kra, amelyek Java használatával érhetők el.