miten käyttää API Java (täydellinen aloittelijan opas)

tässä artikkelissa puhumme paras tekniikka vuorovaikutusta ohjelmistojen ja testata sitä suosituin kieli luoda ohjelmistoja.

mikä on Java REST API?

Tämä on vaikea kysymys, joten jaamme sen muutamaan osaan. Java on yksi maailman suosituimmista ohjelmointikielistä. Mukaan TIOBE ranking (joka tilaa kieliä niiden suosio indeksi), se on itse asiassa suosituin. On monia syitä siihen, mutta me mieluummin thesis, että Java on laaja, helppo ottaa käyttöön, ja on ”kirjoita kerran, ajaa kaikkialla” magic toolbox.

haluatko rakentaa API: n sen sijaan? Katso, miten API luodaan Javassa

ok, mutta mikä tarkalleen on API?

no, API tulee sanoista Application Programming Interface.

lyhyesti sanottuna se on joukko sääntöjä, jotka ohjaavat ohjelmistojen välistä vuorovaikutusta (eli objekti, joka saa jonkin tehtävän, ja objekti, joka antaa tämän tehtävän). Sovellusliittymien avulla voimme hypätä syvälle kolmannen puolen ohjelmistojen lähdekoodiin ja käyttää niiden oikeuksia nopeasti ja helposti.

miten tämä rajapinta toimii?

ennen kaikkea API: lla tulee olla isäntä-URL (tai perus-URL), joka on pääosoite, jonka kanssa olet vuorovaikutuksessa.

myös Sovellusliittymillä on ennalta määritelty joukko päätepisteitä – yksilölliset osoitteet host-URL: n sisällä, jotka vastaavat niiden toimivuudesta. Lisäksi Ohjelmointirajapinnoissa tulee olla dokumentaatio, jossa selitetään kaikki tutkittavat ominaisuudet, palautettujen arvojen tyypit jne.

kun olet löytänyt mielenkiintoisen API: n ja lukenut dokumentaation, sinun täytyy lähettää pyyntö – yksi ainoa tehtävä palvelimelle (vastaanottavalle puolelle).

vertauskuvallisesti se on kuin kahden ihmisen välinen keskustelu: joku (sinä) kysyy kysymyksen (pyyntö), ja keskustelukumppani (päätepiste) vastaa (vastaus).

API – pyyntöjen tyypit

on monia erityyppisiä pyyntöjä, joita API voisi käsitellä, mutta tässä ovat eniten käytetyt:

  • Hae-palautustietoja palvelimelta. Suosituin pyyntö muuten.
  • lisää palvelimelle jälkikäteen uutta tietoa. Usein tätä tyyppiä käytetään rekisteröitymiseen tai tiedostojen lataamiseen.
  • PUT / PATCH – päivitysten tiedot, hyödyllinen pyyntö, mutta ei niin haluttu.
  • DELETE – poistaa tietoja palvelimelta.

okei, olemme saaneet ensimmäisen ja viimeisen sanan merkityksen ”Java REST API”: ssa.

mutta mitä lepo tarkoittaa?

Tämä on ohjelmistoviestinnän tyyli, joka auttaa asiakasta saamaan tarvittavat tiedot kaivotilaan edustusta varten (REST-representational state transfer).

joten kun sanomme REST API, tarkoitamme sovellusliittymiä, jotka eivät ainoastaan palauta pyydettyjä tietoja, vaan myös valmistelevat niitä jatkotyötä varten.

mutta miten voimme luoda levollisen API: n? Kaikki mitä tarvitaan-joukko arkkitehtonisia rajoitteita:

  • asiakas-palvelinarkkitehtuuri – selkeä erottaminen kahdella puolella. Asiakas lähettää pyyntöjä ja odottaa vastausta; palvelin ottaa sitten päinvastaisen roolin. Tärkein syy tähän rajoitukseen – toinen puoli ei välitä muusta kuin vuorovaikutuksen oikeasta muodosta (se ei ole sinun ongelmasi, miten palvelin suorittaa pyyntösi ja päinvastoin).
  • Valtiottomuus-kunkin yksittäisen pyynnön riippumattomuus kaikista aikaisemmista ja tulevista pyynnöistä. Jos esimerkiksi lähettäisit kysymyksen ” Mikä Charlien sukunimi?”, ja perään ” How old is he?”, palvelin ei pystyisi vastaamaan jälkimmäiseen. Palvelin ei tallenna mitään tietoja asiakkaalta ja vaatii sitä jokaisessa pyynnössä.
  • Cacheability – palvelimen sijaan asiakas voisi (ja jopa pitäisi) tallentaa joitakin tietoja paikallisesta tallennustilasta (välimuisti). Se lisää tuottavuutta, sikäli kun pyyntöjen määrä jää pienemmäksi.
  • Layered system – palvelimen tulisi sisältää kerroksia prosessin eri osille. Se on hyödyllinen, koska kerrokset eivät tiedä mitään toisistaan ja palvelin voidaan helposti skaalata uusia kerroksia (esim., turvallisuus).
  • yhtenäinen rajapinta – jokaisella päätepisteellä on oltava yksilöllinen osoite. Yksinkertainen, hyödyllinen ja tarpeellinen.

nyt kun meillä on kaikki tieto Javan Levollisista sovellusliittymistä, kokeillaan sitä!

edellytykset

ensin koneeseesi pitää asentaa Java.

myös, sinun pitäisi olla Maven package builder helppo asentaa ja käyttää site-paketteja. Muuten, tarvitsemme vain unirest kirjasto tehdä pyyntöjä ilman ongelmia ja muutaman rivin.

Täältä voit katsoa esimerkin koodista, joka tekee pyynnön standardimoduuleilla:

näyttää aika vaikealta, eikö? Erityisesti InputStream tyyppisenä palautettuna arvona (sitä olisi edelleen käsiteltävä).

tarkastellaan samaa esimerkkiä Unirestin kanssa:

Voila! Voit määrittää odotetun vastauksen ja työskennellä sen kanssa heti.

voit käyttää Unirestia Mavenin avulla, luoda sitten Java Maven-projektin ja löytää pom: n.xml-tiedosto-se näyttää kaikki riippuvuudet ja työkalut projektin. Lisää XML-koodin seuraava osa <dependencies> tag:

<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>

tarkemmat tiedot riippuvuuksista löytyvät täältä.

nyt voit rakentaa projektisi seuraavalla komennolla terminaalissa (ole varovainen, käytä sitä vain pääkansiossa, koska pom.xml pitäisi näkyä mavenille):
mvn package

nyt olet valmis käyttämään Javaa vuorovaikutuksessa API: iden kanssa.

yleiskatsaus

ennen kuin aloitamme, meidän on löydettävä helppo API testattavaksi. Joskus on vaikea löytää ilmainen ja hyödyllinen API testaustarkoituksiin. Rapidapista löydät yli 10 000 sovellusliittymää testattavaksi ja yhdistettäväksi. Täällä voit testata ohjelmointitaitojasi, rakentaa hyödyllisiä sovelluksia ja jopa luoda omia sovellusliittymiä.

Kuinka aloittaa ohjelmointirajapintojen käyttö Javan kanssa

tilaa RapidAPI

kuten aiemmin mainittiin, Rapidapilla on yli 10 000 ohjelmointirajapintaa. Ja yli 1 miljoonaa kehittäjää käyttää alustaansa, se on yksi suosituimmista ja luotettavimmista API-alustoista.

joten klikkaa tästä aloittaaksesi, se on ilmaista.

Etsi API

nyt kun sinulla on käyttäjätili, etsitään API, jolla pelata.

On RapidAPI.com, sovellusliittymiä selaamalla löydät:

  • Kategoriat (esimerkki: Pelirajapinnat)
  • haku
  • Kuratoidut kokoelmat Kotisivulla

kokeillaan etsiä IMDb-sovellusliittymää saadaksesi tietoa televisiosta ja elokuvista:

tilaa API

aloittaaksesi tämän API: n käytön, sinun on ensin tilattava se. (Vihje: freemium-suunnitelma mahdollistaa 1000 ilmaisen API-pyynnön/päivä). Sinun on annettava luottokorttisi, jos sinulle sattuu ylilyöntejä.

Jos haluat sen sijaan kokeilla ilmaisia sovellusliittymiä (ilman luottokorttia), selaa tätä kokoelmaa.

kun olet tilannut, olet nyt valmis testaamaan päätepisteitä.

testaa päätepisteet

tutkitaan kaikki päätepisteet, jotka ovat tässä API: ssa. Katso API – sivun vasemmalta puolelta:

IMDb – sovellusliittymässä on vain kaksi päätepistettä:

  1. GET By Search – Hae IMDb-tietokannasta kyselymerkkijonolla
  2. GET By ID or Title – Hanki tarkempaa tietoa tietystä otsikosta (sisältää tietoa elokuvasta/tv: stä, näyttelijäkaartista, tuotannosta ja muusta).

jommassakummassa API-päätepisteessä täytä vaaditut parametrit ja napsauta ”Test Endpoint”.

oikealla puolella näet pätkä-osan, jossa kehittäjät näyttävät, miten tähän API: hin muodostetaan yhteys millä tahansa tuetulla kielellä.

tälle API: lle on lisättävä kaksi otsikkoa (API unique name ja oma RapidAPI token). Kaikki muut paramit riippuvat konkreettisesta päätepisteestä. Tutkitaan kaikki tämän API: n päätepisteet. Katso etusivun vasemmalta puolelta.

Hae dataa API: n avulla

Okay, be ready, it ’ s time for coding. Otetaan selvää kaikesta kuuluisasta elokuvasta, joka on olemassa imdb-datan sisällä. Palaa koodiisi ja tuo seuraavat asiat:

täällä tuomme URLEncoder lähetettävien paramenttien valmistelua varten sekä 3 unirestin kirjastosta vaadittua esinettä:

  1. vastauksen käsittelyä varten (HttpResponse),
  2. JSON-tyypin osoittamista sille (JsonNode),
  3. ja GET-pyynnön tekemistä (Unirest) varten.

nyt luodaan pääluokka, jossa kaikki koodi on:

public class App{ public static void main( String args ) throws Exception { //Here will be your code }}

älä unohda poikkeusta. Sinun pitäisi käsitellä kaikki varoitukset ja virheet parantaa hankkeen.

Okei, nyt luodaan muutama merkkijonomuuttuja joidenkin prosessien automatisointiin:

nyt kun olemme luoneet kyselyn, lähetetään pyyntö ja käsitellään vastaus:

kuten näette, se on aika yksinkertaista.

pyynnön luomiseen käytä GET-funktiolla varustettua UNIREST-kirjastoa.

kiinnitä huomiota otsikoihin – voimme lisätä ne käyttämällä pisteitä jakoon.

tehtyämme pyynnön ja käsiteltyämme sen vastauksen HttpResponse object, voimme nähdä tuloksen.

ensimmäinen println näyttää vastauksen tilakoodin – lyhyen numeron, joka selittää tilanteen pyydetyillä toiminnoillamme.

meidän tapauksessamme, jos kaikki on hyvin, sen pitäisi palauttaa 200 – OK tila.

toinen println puolestaan esittää yhden vastausotsikon – ”Content-Type”.

katsotaan, mitä rapidapissa pitäisi saada sisäänrakennetulla API-konsolilla. Syötä kyselysi lomakekenttään ja klikkaa ”Test Endpoint”:

sinun pitäisi nähdä sama tulos kuin yllä olevassa kuvakaappauksessa.

nyt tarkistetaan meidän koodi. Suorita ohjelma, ja sinun pitäisi nähdä:

200

Get a JSON response

edellisessä koodiosiossa käytimme JsonNode object osoittaaksemme vastaukseen JSON-formaattityypin.

ongelmana on, että oletuksena jsonnode-olio tulostaa dataa yhdellä rivillä, mitä on melko vaikea ymmärtää. Lisätään yksi kirjasto tietojen esittämiseen – GSON. Muokkaa pommia.xml-tiedosto, jolla on seuraava riippuvuus:

<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>

nyt lisätään joitakin tuontirivejä oman *tuonti-osioon.java-tiedosto:

nämä objektit auttavat meitä pretty-print our JSON. Okei, nyt voimme soittaa päätepisteeseen ja saada vastauksen:

Jos kaikki menee hyvin, meidän pitäisi nähdä seuraava vastaus:

esimerkki: Java & sovellusliittymät muiden tietojen näyttämiseksi

kuten ehkä muistat, aiempien pyyntöjen Sisältötyyppinen otsikko oli ”application/json”, mutta entä jos haluamme lähettää / vastaanottaa jotain, jota ei voi käsitellä JSONISSA?

esimerkiksi tiedosto tai kuva?

kokeillaan tämän osoittamista Meme Generator API: lla.

Meme Generator API koostuu 5 päätepisteestä:

  • generoi meme
  • Get fonts
  • Upload Image

  • Upload font
  • Get images
  • Get images

käytetään Generate meme päätepistettä:

ensin muokataan tuontiamme lisäämällä nämä rivit koodimme alkuun:

import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;

nyt liitä seuraava koodinpätkä Päämenetelmän sisään:

tässä käsitellään vasteen raakaa runkoaInputStream objekti. Seuraava vaihe on lukea se BufferedImage objektidynaaminen kuva ohjelman muistissa.

lopuksi luodaan (tai päivitetään) kuva.jpg-tiedosto ja tallenna puskuri sen sisällä. Tästä tulostetaan seuraava:


kuten saatat nähdä, API palaa kuva-objektiin.

nähdäksesi varsinaisen kuvan, katsotaan projektimme pääkansiosta ja sinun pitäisi löytää:

johtopäätös

tässä oppaassa selvitimme, miten Rapidapia käytetään jännittävien ja hyödyllisten Java REST API-sovellusten tekemiseen ja kokeilimme muutamia hyödyllisiä sovellusliittymiä avainhetkien selvittämiseen tässä tekniikassa.

  • kuinka käyttää API: a
  • Pythonin kanssa

  • PHP: n kanssa
  • JavaScriptin kanssa
  • React

    • Axios
    • NodeJS: n kanssa VueJS: n kanssa Ruby on Railsin kanssa

    • C#
    • Google Sheetsissä

  • kuinka luoda API Javan kanssa
  • lista REST API: sta Tutorials
  • miten käyttää Twitter API: a Javan kanssa
  • miten käyttää Skyscanner API: a Javan kanssa
  • miten käyttää Yahoo Finance API: a Javan kanssa
  • FAQ

    miten voit luoda API: n Javassa?

    Tsekkaa nämä Java API-tutoriaalit API: n luomisesta.

    onko Java API?

    Java on ohjelmointikieli.

    sovellusliittymät ovat joukko määritelmiä ja protokollia, joiden avulla teknologiatuotteet ja palvelut voivat kommunikoida keskenään.

    Java Application Programming Interface (API) voi viitata Java development kitiin (JDK) tai sovellusliittymiin, jotka ovat käytettävissä Javan avulla.

    onko JSON API?

    Related Posts

    Vastaa

    Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *