Zbuduj usługę RESTful w Javie, używając JAX-RS i Jersey (stopnie Celsjusza do Fahrenheita i Fahrenheita do Celsjusza)

Opublikowany: 2020-03-25
Zbuduj usługę RESTFul przy użyciu JAX-RS i Jersey

Czy masz jedno z poniższych zapytań/pytań?

  • Napisz usługę Java REST, aby przekonwertować stopnie Fahrenheita na stopnie Celsjusza i stopnie Celsjusza na stopnie Fahrenheita
  • REST z Javą (JAX-RS) przy użyciu Jersey
  • Konwersja z metody Fahrenheita na metodę Celsjusza w Javie
  • Pomoc w pracy domowej z przeliczeniem stopni (CtoF, FtoC)
  • Java API dla RESTful Web Services
  • usługi internetowe – który jest najlepszy Java REST API?
  • REST API dla Javy?
  • samouczek ctof i ftoc. Samouczek Java ctof i ftoc
  • Twórz usługi RESTful Web w technologii Java
  • RESTful webowy framework API dla Javy

RESTful Service : Representational State Transfer (REST) ​​zyskała powszechną akceptację w sieci jako prostsza alternatywa dla usług sieci Web opartych na protokole SOAP i Web Services Description Language (WSDL).

REST definiuje zestaw zasad architektury, zgodnie z którymi można projektować usługi sieci Web, które koncentrują się na zasobach systemu, w tym sposobie adresowania i przesyłania stanów zasobów przez HTTP przez szeroką gamę klientów napisanych w różnych językach. REST, mierzony liczbą korzystających z niego usług sieci Web, pojawił się w ciągu ostatnich kilku lat jako dominujący model projektowania usług sieci Web. W rzeczywistości REST wywarł tak duży wpływ na sieć, że w większości wyparł projektowanie interfejsów oparte na SOAP i WSDL, ponieważ jest to znacznie prostszy styl w użyciu.

RESTFul vs. Samouczek dotyczący mydła.

jax-rs-hello-world-przykład-chrupiący

JAX-RS:

Java API for RESTful Web Services (JAX-RS) to zestaw interfejsów API do deweloperskiej usługi REST. JAX-RS jest częścią Java EE6 i umożliwia programistom łatwe tworzenie aplikacji internetowych REST.

Golf:

Jersey to open source, jakość produkcyjna, JAX-RS (JSR 311) Implementacja referencyjna do budowania usług internetowych RESTful. Ale to także coś więcej niż implementacja referencyjna. Jersey zapewnia interfejs API, dzięki któremu programiści mogą rozszerzać Jersey zgodnie z własnymi potrzebami.

Zacznijmy budować proste RESTful API od poniższych kroków:

Krok 1

W Eclipse => Plik => Nowy => Dynamiczny projekt internetowy. Nazwij go jako „ CrunchifyRESTJerseyExample ”.

Utwórz dynamiczny projekt internetowy Crunchify Eclipse

Upewnij się, że ustawiłeś:

  • Docelowe środowisko wykonawcze: Apache Tomcat v9.0
  • Wersja dynamicznego modułu internetowego: 4.0

Krok 2

Jeśli nie widzisz web.xml (deskryptora wdrożenia), wykonaj następujące kroki. LUB

  • Kliknij prawym przyciskiem myszy projekt
  • Wybierz Java EE Tools
  • Kliknij opcję Generate Deployment Descriptor Stub

Spowoduje to utworzenie pliku web.xml w folderze /WebContent/WEB-INF/ .

Krok 3

Teraz przekonwertuj Project do Maven Project , abyśmy mogli dodać wymagane pliki .jar jako zależności.

Kroki:

  • Kliknij prawym przyciskiem myszy projekt
  • Kliknij Configure
  • Wybierz opcję Convert to Maven Project .
Kliknij prawym przyciskiem myszy na projekt
Konwertuj dowolny projekt na projekt Maven

Wystarczy kliknąć Finish button bez wprowadzania zmian.

Utwórz plik POM dla projektu Maven w Eclipse

Krok 4

Otwórz plik pom.xml i dodaj poniższe zależności.

  • asm.jar
  • jersey-bundle.jar
  • json.jar
  • serwer-jersey.jar
Maven Dependencies — samouczek Crunchify Jersey — jersey-server.pom.xml

Oto mój plik pom.xml .

Krok-5

Zaktualizuj swój plik web.xml za pomocą tego. Oto moja kopia pliku web.xml :

Krok-6

  • Przejdź do Java Resources
  • Kliknij na src
  • Kliknij prawym przyciskiem myszy -> Nowy -> Klasa
  • Pakiet: com.crunchify.restjersey
  • Nazwa: CtoFService

CtoFService.java

Krok-7

W ten sam sposób utwórz FtoCService.java

FtoCService.java

Krok 8

Teraz wyczyśćmy obszar roboczy Eclipse i zbudujmy projekt.

  • Dla point 3 powyżej użyj these screenshots : Maven Build, czysta instalacja.
  • Powinieneś zobaczyć komunikat o powodzeniu kompilacji.

Krok-9

Wdróż projekt CrunchifyRESTJerseyExample na Tomcat. Oto szczegółowe instrukcje konfiguracji Tomcata w środowisku Eclipse, jeśli jeszcze tego nie zrobiłeś.

  • Przejdź do zakładki Serwer
  • Kliknij prawym przyciskiem myszy Serwer
  • Kliknij Add and Remove Projects
  • Wybierz projekt z lewej strony i kliknij Add
  • Kliknij Zakończ
Wdróż CrunchifyRESTJerseyPrzykład na Tomcat

Krok-10

  • Uruchom serwer Tomcat 9.0
Uruchom serwer Tomcat 9.0

Kompletna struktura projektu:

Samouczek koszulki Crunchify REST — pełna struktura projektu

Oto zależności ścieżki kompilacji Java:

Zależności ścieżki budowania REST JAX-RS Jersey

Upewnij się, że używasz JDK 1.8 do tego projektu. Uruchamianie Javy 9 – moduły JAXB, JAX-WS, JAF, JTA, CORBA są usuwane i należy je ręcznie dodać do pliku pom.xml Mavena.

Wszystko gotowe.


Teraz przetestujmy usługę sieciową RESTful.

Test 1: usługa internetowa od Celsjusza do Fahrenheita without parametrów

Link: http://localhost:8080/CrunchifyRESTJerseyExample/crunchify/ctofservice/

c do usługi internetowej

Test 2: usługa sieciowa Celsjusza do Fahrenheita with parametrem

c do f webservice z parametrem

Test 3: usługa internetowa od Fahrenheita do Celsjusza without parametru!

f do usługi internetowej c

Test 4: usługa internetowa od Fahrenheita do Celsjusza with parametrem

f to c webservice z parametrem

Przykłady klientów RESTFul:

  • Jak stworzyć klienta Java RESTful za pomocą Apache HttpClient – ​​przykład
  • Jak stworzyć klienta Java RESTful z Java.Net.URL – przykład
  • Jak stworzyć klienta Java RESTful z klientem Jersey – przykład

Inny musi przeczytać:

  • CrunchifyJSONtoHTML.js – Skrypt konwertera tabel JSON na HTML
  • Jak programowo generować brak pamięci (OOM) w Javie?
  • Jak uruchomić wiele instancji Tomcata na jednym serwerze?
  • Jak czytać obiekt JSON z pliku w Javie – samouczek Crunchify

Masz problem z uruchomieniem kodu?

Niektóre etapy segregacji:

Początkowo używałem zależności jersey-core . Ale dodano również zależność jersey-server aby uniknąć poniższego problemu.

Jeśli otrzymujesz powyższy błąd, spróbuj dodać poniższą zależność maven do pliku pom.xml