Dropwizard Tutorial – Hello World Example

a Dropwizard egy nyílt forráskódú Java keretrendszer a REST API-k gyors fejlődéséhez. A Dropwizard egyfajta ökoszisztéma, amely tartalmazza az összes függőséget (például Jersey, jackson vagy móló) egyetlen csomagba csomagolva, vagy külön modulként hozzáadható. Ha nem használja a dropwizard-ot, akkor az összes függőséget maga gyűjti össze, és gyakran osztályterhelési problémákat okoz a különböző java könyvtárak közötti verzióeltérés miatt. A Dropwizard megoldja ezt a problémát az Ön számára, és stabil, Érett könyvtárakat hoz össze egy egyszerű, könnyű csomagba, amely lehetővé teszi, hogy a dolgok elvégzésére összpontosítson. Tanuljuk meg a dropwizard használatát a REST API-k építéséhez-lépésről lépésre.

Table of ContentsLibraries included inside dropwizardSetup dropwizard with mavenCreate REST Application ClassCreate REST Resource and APIsBuild Resource RepresentationsRequest ValidationVerify REST APIs
a Java 8-ra lesz szüksége az ebben a kódban megadott példák futtatásához, amelyeket a dropwizard 1.0.0 verziójával fejlesztettek ki.

könyvtárak benne dropwizard

miután tartalmazza dropwizard be a projekt, akkor kap a következő könyvtárak hozzá a classpath.

  • Jersey – az épület RESTful webes alkalmazások.
  • Jetty – Dropwizard használja a Jetty HTTP könyvtár beágyazni egy HTTP szerver közvetlenül a projekt.
  • Jackson – az objektum/a JSON átalakítás. Ez lehetővé teszi, hogy exportálja a domain modellek közvetlenül JAXB kommentárok.
  • Guava – nagymértékben optimalizált változhatatlan adatstruktúrák a fejlesztés felgyorsítása érdekében.
  • Logback és SLF4j – hatékony és rugalmas naplózáshoz.
  • Hibernate Validator – egyszerű deklaratív keretrendszer a felhasználói bevitel érvényesítéséhez és hasznos és i18n-Barát hibaüzenetek létrehozásához.
  • Apache HTTPClient – mind az alacsony, mind a magas szintű interakcióhoz más webszolgáltatásokkal.
  • JDBI – a legegyszerűbb módja annak, hogy egy relációs adatbázis Java.
  • Liquidbase – az adatbázis séma ellenőrzése a fejlesztési és kiadási ciklus során.
  • FreeMarker – sablonozó rendszerek.
  • bajusz – egyszerű sablonrendszerek a felhasználóbarát alkalmazásokhoz.
  • Joda Time – nagyon komplett és józan könyvtár a dátumok és időpontok kezelésére.

a dropwizard beállítása a Maven

projektünk a maven-archetype-quickstart archetípuson alapul. A projektet a parancssor használatával vagy az eclipse használatával hozhatja létre egyszerű Maven java projekt létrehozásához.

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

generált projekt lesz pom.xml fájlt is. Add hozzá a dropwizard függőséget.

Ez letölti az összes jar fájlt, és hozzáadja őket a classpath-hoz. Ahhoz, hogy build és csomag támogatást adjunk a projektünkhöz, a maven-shade plugint fogjuk használni, amely lehetővé teszi számunkra, hogy teljes mértékben csomagoljuk a projektünket, a függőségeivel együtt, egyetlen önálló JAR fájlba (Fat/Uber JAR), amely elosztható és végrehajtható.

teljes pom.az xml fájl így néz ki.

Create REST alkalmazás osztály

alkalmazás osztály belépési pont minden dropwizard alkalmazás. Ki kell terjesztenie a io.dropwizard.Application osztályt, és végre kell hajtania a initialize(Bootstrap<Configuration>) és run(Configuration, Environment) módszereket. Elkészítik az alkalmazás futási környezetét.

a Futtatás metódus meghívásához rendelkeznie kell public static void main(String args) {} metódussal, amelyet a java -jar parancs hív meg, amikor az alkalmazást jar fájlként futtatja.

a JAR fájl végrehajtásához hozzáadjuk a szerver argumentumot a parancshoz, amely elindítja a beágyazott HTTP szervert (Jetty) a szolgáltatás futtatásához.

java -jar target\DropWizardExample.jar server

a Dropwizard beágyazott Jetty szervere alapértelmezés szerint a 8080-as és 8081-es portokhoz próbál kötődni. A 8080-as portot a kiszolgáló használja a bejövő HTTP-kérések kiszolgálására az alkalmazáshoz, míg a 8081-et a Dropwizard adminisztrációs felülete használja.

importáltuk a szükséges Logger és LoggerFactory osztályokat is, hogy létrehozzunk egy naplózási példányt, amelyet felhasználhatunk a naplózási igényeinkhez.

Rest erőforrás és API-k létrehozása

most ha hozzáadta az Application bootstrap osztályt, most hozzáadhat REST-erőforrásokat, amelyek REST API-kat tartalmaznak. Ebben a példában létrehoztam az alkalmazotti menedzsment alkalmazást – tehát API-k vannak az alkalmazotti rekordok létrehozásához/frissítéséhez/törléséhez. Ez az osztály felelős a HTTP kérések kezeléséért és a JSON válaszok létrehozásáért.

mivel a mezünk a classpath-ban van, a REST API-k építésére fogjuk használni.

a DB utánzásához létrehoztam a EmployeeDB osztályt, amely az alkalmazottak rekordjait és frissítéseit tárolja a memóriában.

Építsd erőforrás reprezentációk

reprezentáció, ami tárolja az adatokat, és szerializált JSON. Ez a nyugodt alkalmazás modellje. Amikor Jersey-t használ Jacksonnal, az erőforrás-ábrázolás felépítéséhez csak egy egyszerű POJO szükséges, amely követi a java bean szabványokat. Jackson rekurzív módon építi fel a JSON karakterláncot az egyes osztályok getter metódusai és azok visszatérési típusa szerint.

a java.util.List típus bármely példánya JSON tömbre konvertálódik.

ha bizonyos esetekben szükséges, megakadályozhatja, hogy egy tulajdonság a JSON-ábrázolás része legyen, ha hozzáadja a @JsonIgnore kommentárt a getteréhez.

kérelem érvényesítése

PUT és POST kérelmek elfogadásakor a kérelem törzsében érvényesíteni kell a felhasználó által beküldött entitás tartalmát. A Dropwizard erre a célra hibernate validatort használ. Az érvényesítés hozzáadásához a következő lépések szükségesek.

ellenőrizze a REST API-kat

most, hogy létrehoztuk és hozzáadtuk a REST API-k érvényesítését, teszteljük ezt ki.

alkalmazás létrehozása uber jar fájl

> mvn clean package

alkalmazás indítása a móló szerveren

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

hozzáférés URI http://localhost:8080/employees

ez visszaadja az alkalmazottak gyűjteményét és a kapcsolódó válaszfejléceket.

Dropwizard – kérjen példát– 1

Uri hozzáférés http://localhost:8080/employees/1

ez visszaadja a munkavállaló rekordját az 1. azonosítóval.

Dropwizard – kérjen példát– 2

elküldött HTTP PUT http://localhost:8080/employees / 1 érvénytelen kérési adatokkal

érvényesítési üzeneteket kap.

Dropwizard-érvényesítési példa

elküldött HTTP PUT http://localhost:8080/employees/1 helyes adatokkal

az alkalmazottak rekordja sikeresen frissül.

Dropwizard-put kérés példa

ugyanígy tesztelhet más API-kat és forgatókönyveket is.

You might also like

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.