Dropvej Tutorial – Hej Verden eksempel

Dropvej er en open source Java ramme for den hurtige udvikling af REST API ‘ er. Jersey, jackson eller anløbsbro) bundtet i en enkelt pakke eller kan tilføjes som separat modul. Hvis du ikke bruger , vil du ende med at samle alle afhængigheder selv, og det resulterer ofte i problemer med klasseindlæsning på grund af versionsmismatch mellem forskellige java-biblioteker. Løse dette problem for dig, og samler stabile, modne biblioteker i en enkel, letvægts pakke, der lader dig fokusere på at få tingene gjort. Lad os lære at bruge dropvand til at bygge REST API ‘ er – trin for trin.

Table of ContentsLibraries included inside dropwizardSetup dropwizard with mavenCreate REST Application ClassCreate REST Resource and APIsBuild Resource RepresentationsRequest ValidationVerify REST APIs
du skal bruge Java 8 til at køre eksemplerne i denne kode, som er udviklet ved hjælp af dropvej version 1.0.0.

biblioteker inkluderet i dropvej

når du har inkluderet dropvej i dit projekt, får du følgende biblioteker tilføjet til din classpath.

  • Jersey – til opbygning af afslappende applikationer.
  • anløbsbro bruger anløbsbro HTTP – biblioteket til at integrere en HTTP-server direkte i dit projekt.
  • Jackson – for objekt til/fra JSON konvertering. Det gør det muligt at eksportere dine domænemodeller direkte med kommentarer.
  • Guava – meget optimeret uforanderlige datastrukturer til at fremskynde udviklingen.
  • Logback og SLF4j – til effektiv og fleksibel logning.
  • Hibernate Validator – en nem deklarativ ramme til validering af brugerinput og generering af nyttige og i18n-venlige fejlmeddelelser.
  • Apache HTTPClient – til både lav – og højt niveau interaktion med andre internettjenester.
  • JDBI – den mest enkle måde at bruge en relationsdatabase med Java.
  • væskebase – for at holde din database skema i skak i hele din udvikling og frigivelse cyklus.
  • FreeMarker – templating systemer.
  • Mustache – simple templating systemer til mere bruger-vender applikationer.
  • Joda Time – meget komplet og sane bibliotek til håndtering af datoer og tidspunkter.

opsætning dropvisning med maven

vores projekt vil være baseret på maven-arketype-hurtigstart arketype. Du kan oprette projektet enten ved hjælp af kommandoprompt eller bruge eclipse til at oprette simpelt maven java-projekt.

mvn archetype:generate -DgroupId=com.howtodoinjava.demo -DartifactId=DropWizardExample -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

genereret projekt vil have pom.xml fil samt. Tilføj afhængighed der.

dette vil hente alle jar filer og tilføje dem til din classpath. For at tilføje build-og pakkesupport til vores projekt bruger vi maven-shade-pluginet, som giver os mulighed for at pakke vores projekt fuldstændigt sammen med dets afhængigheder i en enkelt enkeltstående JAR-fil (Fat/Uber JAR), der kan distribueres og udføres som den er.

komplet pom.se sådan ud.

Opret REST-Applikationsklasse

Applikationsklasse er indgangspunkt for ethvert dropvandsprogram. Det er nødvendigt at udvide io.dropwizard.Application klassen og implementere initialize(Bootstrap<Configuration>) og run(Configuration, Environment) metoderne. De forbereder runtime-miljøet i applikationen.

for at påberåbe sig køremetoden skal du have public static void main(String args) {} metode, som påberåbes af kommandoen java -jar, når du kører applikationen som jar-fil.

til udførelse af JAR-filen tilføjer vi serverargumentet til kommandoen, der starter den integrerede HTTP-Server (Jetty) for at køre vores service.

java -jar target\DropWizardExample.jar server

som standard forsøger vi at binde til portene 8080 og 8081. Port 8080 bruges af serveren til at betjene indgående HTTP-anmodninger til applikationen, mens 8081 bruges af ‘ s administrationsgrænseflade.

vi har også importeret de nødvendige Logger og LoggerFactory klasser for at konstruere en Logger instans vi kunne bruge til vores logning behov.

Opret REST ressource og API ‘er

nu når du har tilføjet Application bootstrap class, kan du nu tilføje REST ressourcer, der indeholder REST API’ er. I dette eksempel har jeg oprettet og medarbejderstyringsapplikation – så det har API ‘ er til oprettelse/opdatering/sletning af medarbejderposter. Denne klasse er ansvarlig for håndtering af HTTP-anmodninger og generering af JSON-svar.

da vi har trøje i vores classpath, vil vi bruge den til at bygge REST API ‘ er.

til efterligning af DB har jeg oprettet EmployeeDB klasse, der gemmer medarbejderposter og opdateringer i hukommelsen.

Byg ressource repræsentationer

repræsentation er, hvad holder data og føljeton i JSON. Det er model for afslappende ansøgning. Når du bruger Jersey med Jackson, er alt hvad du behøver for at opbygge en ressourcerepræsentation – en simpel POJO, der følger java bean-standarder. Jackson konstruerer JSON-strengen rekursivt i henhold til getter-metoderne i hver klasse og deres returtype.

enhver forekomst af java.util.List – typen konverteres til et JSON-array.

hvis det kræves i nogle tilfælde, kan du forhindre en egenskab i at være en del af JSON-repræsentationen ved at tilføje @JsonIgnore annotationen til dens getter.

Anmod om Validering

når du accepterer PUT og POST anmodninger, skal du validere brugerindsendt enhedsindhold i anmodningsorganet. Dvaletilstand bruger dvaletilstand validator til dette formål. Tilføjelse af Validering kræver følgende trin.

Bekræft REST API ‘er

nu når vi har oprettet og tilføjet valideringer for REST API’ er, lad os teste dette ud.

Byg applikation uber jar file

> mvn clean package

Start applikation i jetty server

> java -jar target\DropWizardExample-0.0.1-SNAPSHOT.jar server

få adgang til URI http://localhost:8080/employees

dette vil returnere medarbejderes indsamling og relaterede svaroverskrifter.

få anmodning eksempel– 1

Access URI http://localhost:8080/employees/1

dette vil returnere medarbejderens rekord med id 1.

få anmodning eksempel– 2

sendt HTTP PUT http://localhost:8080/employees / 1 med ugyldige anmodningsdata

får du valideringsmeddelelser.

Valideringseksempel

sendt HTTP PUThttp://localhost:8080/employees/1 med korrekte data

Medarbejderrekord opdateres med succes.

eksempel på anmodning

på samme måde kan du teste andre API ‘ er og scenarier.

You might also like

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.