hoe gebruik je een API met Java (De complete beginnershandleiding)

in dit artikel zullen we praten over de beste technologie van de interactie tussen software en testen op de meest populaire taal voor het maken van software.

Wat is Java REST API?

Dit is een moeilijke vraag, dus we zullen het in een paar delen verdelen. Java is een van de populairste programmeertalen ter wereld. Volgens de TIOBE ranking (die talen bestelt op basis van hun populariteitsindex), is het eigenlijk de meest populaire. Er zijn vele redenen voor, maar we geven de voorkeur aan de stelling dat Java wijdverbreid is, gemakkelijk te implementeren, en een “write once, run everywhere” magische toolbox heeft.

wilt u in plaats daarvan een API bouwen? Bekijk hoe je een API maakt in Java

oké, maar wat is een API precies?

wel, API staat voor Application Programming Interface.

in het kort, het is een set regels die de interactie tussen software regelt (dat wil zeggen, een object dat een taak ontvangt en object dat deze taak geeft). API ‘ s stelt ons in staat om duiken diep in de broncode van sommige derde-side software overslaan, terwijl ons in staat om hun privileges snel en gemakkelijk te gebruiken.

Hoe werkt deze interface?

Allereerst moet een API een host-URL (of Basis-URL) hebben, wat het hoofdadres is waarmee u wilt communiceren.

ook API ‘ s hebben een vooraf gedefinieerde set van endpoints – unieke adressen in host-URL, die verantwoordelijk zijn voor hun functionaliteit. Verder moeten API ‘ s documentatie hebben die alle eindpunten, soorten geretourneerde waarden, enz.uitlegt.

nadat u een interessante API hebt gevonden en documentatie hebt gelezen, moet u een verzoek verzenden – één enkele taak voor de server (ontvangende zijde).

metaforisch is het als een gesprek tussen twee mensen: iemand (jij) stelt een vraag (verzoek), en de gesprekspartner (eindpunt) antwoordt (antwoord).

soorten API-verzoeken

Er zijn veel verschillende soorten verzoeken die API zou kunnen verwerken, maar hier zijn de meest gebruikte:

  • GET – retourneert gegevens van de server. Het meest populaire verzoek trouwens.
  • POST-voegt nieuwe gegevens toe aan de server. Vaak wordt dit type gebruikt voor registratie of het uploaden van bestanden.
  • PUT / PATCH – updates gegevens, nuttig verzoek maar niet zo gewild.
  • verwijderen: Hiermee verwijdert u gegevens van de server.

ok, we hebben de Betekenis van het eerste en het laatste woord in “Java REST API”.

maar wat betekent rust?

Dit is de stijl van softwarecommunicatie die een client helpt om de vereiste gegevens in de well-state te krijgen voor representatie (REST – representational state transfer).

dus als we REST API zeggen, bedoelen we-API ‘ s die niet alleen gevraagde gegevens retourneren, maar deze ook voorbereiden voor verder werk.

maar hoe kunnen we een RESTful API maken? Alles wat nodig is – een aantal architecturale beperkingen:

  • Client-server architecture-duidelijke scheiding aan twee zijden. De client stuurt verzoeken en wacht op het antwoord; de server neemt dan de tegenovergestelde rol. De belangrijkste reden voor deze beperking – één kant geeft niets om behalve het juiste formaat van de interactie (het is niet uw probleem hoe de server uw verzoek uitvoert en vice versa).
  • staatloosheid-onafhankelijkheid van elk enkelvoudig verzoek van alle eerdere en toekomstige verzoeken. Bijvoorbeeld, als je de vraag zou sturen “wat Charlie’ s achternaam?”, en dan volgen met ” hoe oud is hij?”, zou de server Het Laatste niet kunnen beantwoorden. De server slaat geen informatie op van de client en vereist deze in elk verzoek.
  • Cacheability-in plaats van de server, kan de client (en zou het zelfs moeten) gegevens opslaan op de lokale opslag (cache). Het verhoogt de productiviteit, voor zover het aantal aanvragen kleiner zal zijn.
  • gelaagd systeem – de server moet lagen bevatten voor verschillende delen van het proces. Het is handig omdat lagen niets over elkaar weten en server gemakkelijk kan worden geschaald met nieuwe lagen (bijvoorbeeld beveiliging).
  • uniforme interface-elk eindpunt moet een uniek adres hebben. Eenvoudig, nuttig en noodzakelijk.

nu we alle informatie over Java RESTful API ‘ s hebben, kunnen we het uitproberen!

Prerequisites

eerst moet Java op uw machine geïnstalleerd worden.

ook zou u een Maven package builder moeten hebben voor het eenvoudig installeren en gebruiken van site-pakketten. Verder hebben we alleen de unirest bibliotheek nodig om zonder problemen en in een paar regels verzoeken in te dienen.

Hier kunt u het voorbeeld bekijken van code die een verzoek doet door standaardmodules:

ziet er vrij moeilijk uit, toch? Vooral InputStream als een soort geretourneerde waarde (het moet verder worden verwerkt).

laten we naar hetzelfde voorbeeld Kijken met Unirest:

Voila! Je kon het verwachte type reactie toe te wijzen en werken met het meteen.

U kunt Unirest gebruiken met behulp van Maven, vervolgens een Java Maven-project maken en de pom vinden.xml-bestand-het toont alle afhankelijkheden en gereedschappen van het project. Voeg het volgende deel van de XML-code in de <dependencies> tag:

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

meer gedetailleerde informatie over afhankelijkheden kan hier worden gevonden.

nu kunt u uw project bouwen met het volgende commando in terminal (wees voorzichtig, gebruik het alleen in de hoofdmap, omdat pom.xml moet zichtbaar zijn voor Maven):
mvn package

nu bent u klaar om Java te gebruiken voor interactie met API ‘ s.

overzicht

voordat we beginnen, moeten we een eenvoudige API vinden om te testen. Soms is het moeilijk om gratis en nuttige API te vinden voor testdoeleinden. Bij RapidAPI vind je meer dan 10.000 API ‘ s om te testen en verbinding te maken. Hier kun je je programmeervaardigheden testen, nuttige apps bouwen en zelfs je eigen API ‘ s maken.

hoe te beginnen met API ’s met Java

aanmelden voor RapidAPI

zoals eerder vermeld, heeft RapidAPI meer dan 10.000 API’ s om mee te beginnen. En met meer dan 1 miljoen ontwikkelaars met behulp van het platform, het is een van de meest populaire en betrouwbare API-platforms.

dus Klik hier om te beginnen, het is gratis.

zoek een API

Nu u een gebruikersaccount hebt, laten we een API Zoeken om mee te spelen.

On RapidAPI.com u kunt API ‘ s vinden door te bladeren door:

  • categorieën (voorbeeld: Gaming API ‘ s)
  • zoeken
  • gecureerde collecties op de Homepage

laten we proberen te zoeken naar de IMDb API om wat informatie over TV en films te krijgen:

abonneren op de API

om deze API te kunnen gebruiken, moet u zich eerst abonneren. (Hint: er is een freemium plan dat het mogelijk maakt voor 1000 Gratis API verzoeken / dag). U zult verplicht zijn om uw creditcard in te voeren in het geval u te veel krijgt.

Als u in plaats daarvan een aantal gratis API ‘ s (zonder creditcard) wilt proberen, blader dan door deze verzameling.

zodra u bent geabonneerd, bent u nu klaar om de eindpunten te testen.

Test de eindpunten

laten we alle eindpunten in deze API onderzoeken. Kijk aan de linkerkant van de API-pagina:

De IMDb API heeft slechts twee eindpunten:

  1. GET By Search – zoek in de IMDb – database op query string
  2. GET By ID or Title – krijg meer gedetailleerde informatie over een specifieke titel (inclusief informatie over de film / tv, cast, productie en meer).

vul op een van de API-eindpunten alle vereiste parameters in en klik op “Test Endpoint”.

aan de rechterkant kunt u het fragment zien, waar ontwikkelaars laten zien hoe ze met deze API kunnen verbinden met elke ondersteunde taal.

voor deze API moeten we twee headers toevoegen (API unieke naam en onze eigen RapidAPI token). Alle andere params zijn afhankelijk van concrete eindpunt. Laten we alle eindpunten die in deze API. Kijk aan de linkerkant van de hoofdpagina.

Gegevens ophalen met behulp van de API

Oké, wees gereed, het is tijd voor codering. Laten we alles te weten komen over een aantal beroemde film die bestaat in de imdb-gegevens. Keer terug naar je code en importeer de volgende dingen:

hier importeren we URLEncoder Voor het voorbereiden van params om verzonden te worden, en 3 vereiste objecten uit de unirest bibliotheek:

  1. Voor het verwerken van een antwoord (HttpResponse),
  2. het toewijzen van JSON-type (JsonNode),
  3. en het maken van een GET request (Unirest).

laten we nu uw Hoofdklasse maken, waar alle code zal zijn:

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

vergeet uitzondering niet. U moet alle waarschuwingen en fouten voor het verbeteren van het project te behandelen.

OK, laten we nu een paar string variabelen maken voor het automatiseren van sommige processen:

nu we de query hebben aangemaakt, sturen we een verzoek en behandelen we het antwoord:

zoals je kunt zien, is het vrij eenvoudig.

voor het maken van een verzoek, gebruik een unirest bibliotheek met de functie GET.

Let op de headers – we kunnen ze toevoegen door puntjes te gebruiken voor het splitsen.

na het maken van een verzoek en het verwerken van het antwoord met het HttpResponse object, kunnen we het resultaat zien.

eerste println toont de statuscode van het antwoord – een kort getal dat de situatie met onze gevraagde acties verklaart.

in ons geval, als alles in orde is, zou het een 200 – OK status moeten teruggeven.

de tweede println toont op zijn beurt een van de response headers – “Content-Type”.

laten we eens kijken wat we moeten krijgen met de ingebouwde API console In RapidAPI. Voer uw zoekopdracht in de formuliervelden in en klik op “Test Endpoint”:

u zou hetzelfde resultaat moeten zien als in de screenshot hierboven.

laten we nu onze code controleren. Start uw programma, en je moet zien:

200

haal een JSON-antwoord

In de vorige sectie code gebruikten we een JsonNode object voor het toewijzen van het JSON-formattype aan het antwoord.

Het probleem is dat standaard jsonnode object gegevens in een enkele rij afdrukt, wat nogal moeilijk te begrijpen is. Laten we een bibliotheek toevoegen voor het mooier maken van data-GSON. Pas je pom aan.xml-bestand met volgende afhankelijkheid:

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

laten we nu enkele importregels toevoegen in de import sectie van uw *.java-bestand:

deze objecten zullen ons helpen bij het vrij-printen van onze JSON. Ok, nu kunnen we het eindpunt aanroepen en een antwoord krijgen:

als alles goed gaat, zouden we het volgende antwoord moeten zien:

voorbeeld: Java& API ‘ s gebruiken om andere soorten gegevens weer te geven

zoals u zich wellicht herinnert, was de Content-Type header van de vorige verzoeken voor “application/json”, maar wat als we iets willen verzenden / ontvangen dat niet in JSON kan worden verwerkt?

bijvoorbeeld een bestand of afbeelding?

laten we proberen dit te demonstreren met de Meme Generator API.

Meme Generator API bestaat uit 5 eindpunten:

  • Meme genereren
  • fonts ophalen
  • Upload Image
  • Upload font
  • afbeeldingen Ophalen

laten we het eindpunt Meme genereren gebruiken:

eerst moeten we onze imports aanpassen door deze regels aan de bovenkant van onze code toe te voegen:

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

nu, plak het volgende codefragment in de hoofdmethode:

hier behandelen we het ruwe deel van het antwoord in het InputStream object. De volgende stap is om het te lezen in deBufferedImage object-dynamische afbeelding in het geheugen van het programma.

ten slotte, laten we een afbeelding maken (of bijwerken).jpg-bestand en opslaan buffer erin. Dit zou het volgende moeten uitvoeren:


zoals u kunt zien, keert API terug naar een afbeeldingsobject.

om de werkelijke afbeelding te zien, controleren we de hoofdmap van ons project en je zou het volgende moeten vinden:

conclusie

In deze gids hebben we onderzocht hoe RapidAPI te gebruiken voor het maken van een spannende en nuttige Java REST API applicaties en hebben we een paar handige API ‘ s geprobeerd voor het wissen van belangrijke momenten in deze techniek.

  • het Gebruik van Een API
    • Met Python
    • PHP
    • JavaScript
      • Met Reageren
        • Axios
      • Met NodeJS
      • Met VueJS
    • Met Ruby on Rails
    • Met C#
    • in Google spreadsheets
  • het Maken van een API met Java
  • Lijst van REST API Tutorials
  • het gebruik van de Twitter API Java
  • Hoe te gebruiken Skyscanner API Java
  • het gebruik van de Yahoo Finance API Java

FAQ

Hoe kunt u het maken van een API in Java?

bekijk Deze Java API-Tutorials over het maken van een API.

is Java een API?

Java is een programmeertaal.

API ‘ s zijn een reeks definities en protocollen waarmee technologieproducten en-diensten met elkaar kunnen communiceren.

Een Java Application Programming Interface (API) kan verwijzen naar de Java development kit (JDK) of API ‘ s die toegankelijk zijn met Java.

Is JSON een API?

Related Posts

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *