Articles

Spring Restful Web Services exemplu cu JSON, Jackson și programul client

Posted by admin

Spring este una dintre cele mai utilizate cadre Java EE. Am văzut mai devreme cum să folosim Spring MVC pentru a crea aplicații web bazate pe Java. Astăzi vom învăța să creăm Spring Restful Web Services folosind Spring MVC și apoi să îl testăm cu clientul Rest. În cele din urmă, vom analiza, de asemenea, cum să invocăm serviciul web Restful Spring folosind API-ul Spring RestTemplate.,

Spring REST

vom folosi Spring ultima versiune 4.0.0.Eliberați și utilizați integrarea Spring Jackson JSON pentru a trimite răspunsul JSON în răspunsul rest call. Tutorialul este dezvoltat în primăvară STS IDE pentru crearea de primăvară MVC Cod schelet cu ușurință și apoi extins pentru a pune în aplicare arhitectura odihnitor.creați un nou proiect Spring MVC în STS, proiectul nostru final va arăta ca imaginea de mai jos. Vom analiza fiecare dintre componente unul câte unul.,

de Primăvară RESTUL Fișiere de Configurare XML

pom.fișierul xml arată ca mai jos.

instrumentul STS generează pom.fișier xml pentru noi. Cu toate acestea, am actualizat versiunea Spring Framework, AspectJ, SLF4J și Jackson la cea mai recentă versiune de astăzi. Cea mai mare parte a părții este comună și generată automat, punctul important de reținut este că am adăugat bibliotecile Jackson JSON în dependență, deoarece vom folosi asta pentru a converti obiectele în JSON și invers.,

acest fișier este generat automat și nu am schimbat nimic în asta. Cu toate acestea, dacă doriți să schimbați fișierele de configurare a contextului și locația acestora, o puteți face pe web.fișier xml.acest fișier conține resursele partajate care vor fi vizibile pentru toate componentele web, vom dezvolta un serviciu rest simplu și de aceea nu am schimbat nimic aici.cea mai mare parte a piesei este generată automat și conține configurații ale plăcii cazanului., Cu toate acestea puncte importante de reținut sunt adnotare-element condus pentru a sprijini adnotări pe bază de configurare și conectarea în MappingJackson2HttpMessageConverter la RequestMappingHandlerAdapter messageConverters așa că Jackson API lovituri în și convertește JSON Java Fasole și vice-versa. Având această configurație, vom folosi JSON în corpul de solicitare și vom primi date JSON în răspuns.

clasele de model Spring REST

să scriem o clasă POJO simplă care va servi ca intrare și ieșire pentru metodele noastre de servicii web Restful.,

singurul punct important de reținut este utilizarea de @JsonSerialize adnotare pentru a utiliza DateSerializer clasa pentru Data de conversie de tip Java format JSON și vice-versa.

Spring Restful Web Service End Points

vom avea următoarele puncte finale rest web services.

Sl.,de stocare a datelor
2 /restul/emp/{id} SE Pentru a obține Angajat obiect bazat pe id-ul
3 /restul/emp SE Pentru a obține lista tuturor Angajaților în depozitul de date
4 /restul/emp/crea MESAJ Pentru a crea Angajat obiect și depozitați-l
5 /restul/emp/șterge/{id} PUN Pentru a șterge Angajat obiect de stocare a datelor bazat pe id-ul

Avem o clasă care definește toate aceste URI ca constantele Șir.,

clasa Spring Restful web service Controller

clasa EmployeeController va publica toate punctele finale ale serviciului web menționate mai sus. Să ne uităm la codul clasei și apoi vom învăța despre fiecare dintre metode în detaliu.pentru simplitate, stocez toate datele angajatului în Empdata HashMap. @ RequestMapping adnotare este folosit pentru a mapa cererea URI la metoda handler. De asemenea, putem specifica metoda HTTP care ar trebui utilizată de aplicația client pentru a invoca metoda rest.,

@ResponseBody adnotare este folosit pentru a mapa obiectul de răspuns în corpul de răspuns. Odată ce obiectul de răspuns este returnat prin metoda handler, MappingJackson2HttpMessageConverter lovituri în și converti la răspuns JSON.

@PathVariable adnotare este cel mai simplu mod de a extrage datele din URI restul și harta-l la argumentul metodei.

@RequestBody adnotare este folosit pentru a mapa datele JSON cerere organism în obiect angajat, din nou, acest lucru se face prin MappingJackson2HttpMessageConverter mapping.,restul codului este simplu și înțeles de sine, aplicația noastră este pregătită pentru implementare și testare. Doar exportați ca fișier de război și copiați-l în directorul de aplicații web container servlet. Dacă aveți serverul configurat în STS, îl puteți rula pur și simplu pe server pentru a-l implementa.

folosesc WizTools RestClient pentru a invoca apelurile de odihnă, dar puteți utiliza și Extensia Chrome Postman.

imaginile de mai jos arată diferitele invocări ale API-urilor rămase expuse de aplicația noastră și de ieșire.,

Health Check-Get Dummy angajat Rest apel

creați angajat Post Rest apel: Asigurați-vă că cererea de tip de conținut este setat la” application/json ” altfel vei primi HTTP cod de eroare 415.,

Obține Angajat Restul de Apel

Ștergere Angajat Restul de Apel

Obține Toți Angajații Restul de Apel

Primavara Restul Program Client

Restul Clientilor sunt bune pentru a testa restul de servicii web, dar de cele mai multe ori, avem nevoie de a invoca restul serviciilor prin intermediul programului nostru. Putem folosi Spring RestTemplate pentru a invoca aceste metode cu ușurință. Mai jos este un program simplu care invocă metodele noastre de odihnă a aplicațiilor folosind RestTemplate API.,

cele Mai multe dintre programul este simplu de înțeles, cu toate acestea, atunci când se invocă restul metoda întoarce o Colecție, trebuie să utilizați LinkedHashMap pentru că JSON la obiect conversie nu știe despre Angajatul obiect și îl convertește la colectarea de LinkedHashMap. Putem scrie o metodă de utilitate pentru a converti de la LinkedHashMap la Obiectul nostru Java Bean.când rulăm programul de mai sus, obținem următoarea ieșire în consolă.,

un Alt punct este că RestTemplate pune-metode nu au opțiunea de a seta obiect de răspuns pentru că a PUS metodă ar trebui să fie utilizate pentru a stoca ceva pe server si un simplu HTTP 200 cod de stare ar trebui să fie suficientă.

asta e tot pentru primăvară Restful tutorial aplicație web. Descărcați proiectul eșantion din linkul de mai sus și jucați-vă cu acesta pentru a afla mai multe.,

actualizare: din cauza atât de multe cereri de a oferi exemplu similar cu XML, precum și sprijinirea atât XML și JSON, am extins această aplicație în Spring REST XML JSON exemplu pentru a sprijini atât XML și JSON cereri și răspuns. Vă sugerez cu tărie să treceți prin asta pentru a vedea frumusețea cadrului de primăvară și cât de ușor este să realizați acest lucru.

puteți descărca proiectul complet din depozitul nostru GitHub.

Leave A Comment