Sådan bruger du en API med Java (The Complete Beginner ‘ s Guide)

i denne artikel vil vi tale om den bedste teknologi til samspillet mellem programmer og teste det på det mest populære sprog til oprettelse af programmer.

Hvad er Java REST API?

Dette er et hårdt spørgsmål, så vi deler det i et par dele. Java er et af de mest populære programmeringssprog i verden. Ifølge Tiobe ranking (som bestiller sprog efter deres popularitetsindeks) er det faktisk den mest populære. Der er mange grunde til det, men vi foretrækker afhandlingen om, at Java er udbredt, let at implementere og har en “Skriv en gang, kør overalt” magisk værktøjskasse.

søger du at bygge en API i stedet? Tjek hvordan du opretter en API i Java

Okay, men hvad er der præcist er en API?

Nå, API står for Application Programming Interface.

kort sagt er det et sæt regler, der styrer interaktionen mellem programmer (dvs.et objekt, der modtager en opgave, og et objekt, der giver denne opgave). API ‘ er giver os mulighed for at springe dykning dybt i kildekoden til nogle tredjepartsprogrammer, samtidig med at vi kan bruge deres privilegier hurtigt og nemt.

Hvordan fungerer denne grænseflade?

først og fremmest skal en API have en vært-URL (eller base URL), som er den vigtigste adresse, som du vil interagere med.

API ‘ er har også et foruddefineret sæt slutpunkter – unikke adresser inde i host-URL, der er ansvarlige for deres funktionalitet. Desuden skal API ‘ er have dokumentation, der forklarer alle slutpunkter, typer af returnerede værdier osv.

når du har fundet en interessant API og læst dokumentation, skal du sende en anmodning – en enkelt opgave til serveren (modtagende side).

metaforisk er det som en samtale mellem to personer: nogen (dig) stiller et spørgsmål (anmodning), og samtalepartneren (slutpunkt) svarer (svar).

typer af API – anmodninger

der er mange forskellige typer anmodninger, som API kunne håndtere, men her er de mest anvendte:

  • GET-returnerer data fra serveren. Den mest populære anmodning forresten.
  • POST-tilføjer nye data på serveren. Ofte bruges denne type til registrering eller upload af filer.
  • PUT / PATCH-opdaterer data, nyttig anmodning, men ikke så efterspurgt.
  • slet-fjerner data fra serveren.

Okay, vi har fået betydningen af det første og det sidste ord i “Java REST API”.

men hvad betyder hvile?

Dette er den form for programkommunikation, der hjælper en klient med at få de nødvendige data i brøndtilstanden til repræsentation (REST-representational state transfer).

så når vi siger REST API, mener vi – API ‘ er, der ikke kun returnerer anmodede data, men også forbereder dem til videre arbejde.

men hvordan kan vi oprette en RESTful API? Alt, hvad der kræves-en flok af de arkitektoniske begrænsninger:

  • klient – server arkitektur-klar adskillelse på to sider. Klienten sender anmodninger og venter på svaret; serveren tager derefter den modsatte rolle. Hovedårsagen til denne begrænsning – den ene side er ligeglad med andet end det korrekte format for interaktionen (det er ikke dit problem, hvordan serveren udfører din anmodning og omvendt).
  • statsløshed-uafhængighed af hver enkelt anmodning fra alle tidligere og fremtidige anmodninger. For eksempel, hvis du ville sende spørgsmålet “Hvad Charlies efternavn?”, og følg derefter op med ” hvor gammel er han?”, ville serveren ikke kunne svare på sidstnævnte. Serveren gemmer ingen oplysninger fra klienten og kræver det i hver anmodning.
  • Cacheability – i stedet for serveren kunne klienten (og endda skulle) gemme nogle data på det lokale lager (cache). Det øger produktiviteten, så vidt antallet af anmodninger bliver mindre.
  • Layered system-serveren skal indeholde lag til forskellige dele af processen. Det er nyttigt, fordi lag ikke ved noget om hinanden, og serveren let kan skaleres med nye lag (f.eks.
  • ensartet grænseflade-hvert slutpunkt skal være med en unik adresse. Enkel, nyttig og nødvendig.

nu hvor vi har alle oplysninger om Java RESTful API ‘ er, lad os prøve det!

forudsætninger

først skal du have Java installeret på din maskine.

Du skal også have en Maven-pakkebygger til nem installation og brug af site-pakker. Bortset fra det har vi kun brug for Unirest-biblioteket til at fremsætte anmodninger uden problemer og på få linjer.

Her kan du se på eksemplet på kode, der fremsætter en anmodning fra standardmoduler:

ser ret vanskeligt ud, ikke? Især InputStream som en type returneret værdi (den skal behandles yderligere).

lad os se på det samme eksempel med Unirest:

Voila! Du kan tildele den forventede type svar og arbejde med det med det samme.

Du kan bruge Unirest ved hjælp af Maven, derefter oprette et Java Maven-projekt og finde pom.fil – det viser alle afhængigheder og værktøjer i projektet. Tag:

tag:

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

mere detaljeret information om afhængigheder kan findes her.

nu kan du opbygge dit projekt ved næste kommando i terminal (pas på, brug det kun i hovedmappen, fordi pom.være synlig for Maven):
mvn package

nu er du klar til at bruge Java til at interagere med API ‘ er.

oversigt

før vi kommer i gang, skal vi finde en nem API til test. Nogle gange er det svært at finde gratis og nyttigt API til testformål. Hos RapidAPI finder du over 10.000 API ‘ er at teste og oprette forbindelse til. Her kan du teste dine programmeringsevner, opbygge nyttige apps og endda oprette dine egne API ‘ er.

Sådan begynder du at bruge API ‘er med Java

Tilmeld dig RapidAPI

Som nævnt før har RapidAPI over 10.000 API’ er at komme i gang med. Og med over 1 million udviklere, der bruger sin platform, er det en af de mest populære og pålidelige API-platforme.

så klik her for at komme i gang, det er gratis.

Find en API

nu hvor du har en brugerkonto, lad os finde en API til at spille med.

på RapidAPI.com, du kan finde API ‘ er ved at gennemse:

  • kategorier (eksempel:
  • Søg
  • kuraterede samlinger på hjemmesiden

lad os prøve at søge efter IMDb API for at få nogle oplysninger om TV og film:

Abonner på API

for at begynde at bruge denne API skal du først abonnere på den. (Tip: der er en freemium-plan, der giver mulighed for 1000 Gratis API-anmodninger/dag). Du skal indtaste dit kreditkort, hvis du pådrager dig overskud.

Hvis du vil prøve nogle gratis API ‘ er (uden kreditkort) i stedet, skal du gennemse denne samling.

når du er tilmeldt, er du nu klar til at teste slutpunkterne.

Test slutpunkterne

lad os undersøge alle slutpunkter, der er i denne API. Se på venstre side af API – siden:

IMDb API har kun to endepunkter:

  1. GET By Search – Søg i IMDb-databasen efter forespørgselsstreng
  2. GET By ID or Title – få mere detaljerede oplysninger om en bestemt titel (inkluderer info om filmen/tv, rollebesætning, produktion og mere).

på et af API-slutpunkterne skal du udfylde de nødvendige parametre og klikke på “Test Endpoint”.

på højre side kan du se uddragsdelen, hvor udviklere viser, hvordan du opretter forbindelse til denne API med ethvert understøttet sprog.

for denne API skal vi tilføje to overskrifter (API-unikt navn og vores eget RapidAPI-token). Alle andre params er afhængig af konkrete endepunkt. Lad os undersøge alle slutpunkter, der er i denne API. Se på venstre side af hovedsiden.

Hent data ved hjælp af API

Okay, vær klar, det er tid til kodning. Lad os finde ud af alt om nogle berømte film, der findes inde i imdb-data. Gå tilbage til din kode og importer de næste ting:

Her importerer viURLEncoder til forberedelse af params, der skal sendes, og 3 krævede objekter fra Unirest-biblioteket:

  1. til håndtering af et svar (HttpResponse),
  2. tildeling af JSON-type til det (JsonNode),
  3. og oprettelse af en GET-anmodning (Unirest).

lad os nu oprette din hovedklasse, hvor al koden vil være:

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

glem ikke undtagelsen. Du skal håndtere alle advarsler og fejl for at forbedre projektet.

Okay, lad os nu oprette et par strengvariabler til automatisering af nogle processer:

nu hvor vi har oprettet forespørgslen, lad os sende en anmodning og håndtere svaret:

som du kan se, er det ret simpelt.

for at oprette en anmodning skal du bruge et Unirest-bibliotek med GET-funktionen.

Vær opmærksom på overskrifterne – vi kan tilføje dem ved at bruge prikker til opdeling.

efter at have foretaget en anmodning og håndteret sit svar af HttpResponse objektet, kan vi se resultatet.

først println viser statuskoden for svaret – et kort nummer, der forklarer situationen med vores anmodede handlinger.

i vores tilfælde, hvis alt er fint, skal det returnere en 200 – OK status.

den anden println viser igen en af svaroverskrifterne – “indholdstype”.

lad os se, hvad vi skal få med indbygget API-konsol i RapidAPI. Indtast bare din forespørgsel i formularfelterne og klik på “Test Endpoint”:

Du skal se det samme resultat som vist på skærmbilledet ovenfor.

lad os nu tjekke vores kode. Kør dit program, og du skal se:

200

få et JSON-svar

i det forrige kodesektion brugte vi etJsonNode objekt til tildeling af JSON-formattype til svaret.

problemet er, at standard jsonnode-objekt udskriver data i en enkelt række, hvilket er ret vanskeligt at forstå. Lad os tilføje et bibliotek til prettificering af data – GSON. Ændre din pom.

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

lad os nu tilføje nogle importlinjer i afsnittet import af din *.java-fil:

disse objekter hjælper os med at udskrive vores JSON. Okay, nu kan vi ringe til slutpunktet og få et svar:

Hvis alt går godt, skal vi se følgende svar:

eksempel: brug af Java & API ‘ er til at vise andre typer Data

som du måske husker, var indholdstypehovedet for de tidligere anmodninger om “ansøgning/json”, men hvad hvis vi vil sende/modtage noget, der ikke kan behandles i JSON?

for eksempel en fil eller et billede?

lad os prøve at demonstrere dette med Meme Generator API.Meme Generator API består af 5 endepunkter:

  • Generer meme
  • Hent skrifttyper
  • Upload billede
  • Upload font
  • Hent billeder

lad os bruge Generate meme endpoint:

lad os først ændre vores import ved at tilføje disse linjer til toppen af vores kode:

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

nu, indsæt følgende kodestykke inde i hovedmetoden:

Her håndterer vi rå krop af svaret i InputStream objekt. Næste trin er at læse det i BufferedImage objektdynamisk billede i programmets hukommelse.

lad os endelig oprette (eller opdatere) et billede.jpg-fil og gemme buffer inde i det. Dette skal udsende følgende:


som du kan se, vender API tilbage til et billedobjekt.

for at se det faktiske billede, lad os tjekke hovedmappen i vores projekt, og du skal finde:

konklusion

i denne vejledning studerede vi, hvordan man bruger RapidAPI til at lave en spændende og nyttig Java REST API-applikationer og prøvede et par nyttige API ‘ er til at rydde vigtige øjeblikke i denne teknik.

  • Sådan bruges en API
    • med Python
    • med PHP
    • med JavaScript
      • med reagere
        • Aksios
      • med NodeJS
      • med Vuejs
    • med Ruby on Rails
    • med C#
    • i Google Sheets
  • Sådan oprettes en API med java
  • liste over REST API-tutorials
  • Sådan bruges kvidre API med java
  • Sådan bruges Skyscanner API med java
  • Sådan bruges Yahoo Finance API med java

Ofte stillede spørgsmål

hvordan kan du oprette en API i Java?

tjek disse Java API-Tutorials om, hvordan du opretter en API.

er Java en API?

Java er et programmeringssprog.

API ‘ er er et sæt definitioner og protokoller, der gør det muligt for teknologiprodukter og-tjenester at kommunikere med hinanden.

en Java Application Programming Interface (API) kan henvise til Java development kit (JDK) eller API ‘ er, der er tilgængelige ved hjælp af Java.

er JSON en API?

Related Posts

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *