Heim  >  Artikel  >  Java  >  Erstellen Sie einen Jersey-REST-Dienst basierend auf Maven

Erstellen Sie einen Jersey-REST-Dienst basierend auf Maven

巴扎黑
巴扎黑Original
2017-06-23 13:58:031695Durchsuche
  • REST-Service basierend auf JavaSE

  • Projekt erstellen

    Wir bevorzugen die Verwendung des Prototyps mit archetypeGroupId als org.glassfish.jersey.archetypes und archetypeArtifactId als jersey-quickstart-grizzly2, um den REST-Dienst zu erstellen Projekt: Verwenden Sie IDEA, um das Projekt wie folgt zu erstellen:

    Klicken Sie auf OK, um ein Projekt mit dem Originalmodell zu erstellen.

  • Führen Sie den Dienst aus

    Nachdem das Projekt erstellt wurde, hat das ursprüngliche Modell standardmäßig einen REST-Dienst erstellt. Wir können den REST-Dienst direkt starten, das Stammverzeichnis des Projekts eingeben und den folgenden Befehl ausführen, um den Dienst zu erstellen und zu starten :

    mvnPaket

    mvnexec :java

    startet den REST-Dienst. Sie können den Dienst jederzeit durch Drücken der Eingabetaste stoppen. Die Ausgabe lautet wie folgt:

    19. Juni 2017 23:12:23 Uhr org. glassfish.grizzly.http.server.NetworkListener start

    Nachricht: Gestarteter Listener gebunden an [localhost:8080]

    19. Juni 2017 23:12:23 Uhr org.glassfish.grizzly.http.server.HttpServer start

    Informationen: [HttpServer ] Gestartet.

    Jersey-App wurde mit WADL gestartet, verfügbar unter http://localhost:8080/myapp/application.wadl

    Drücken Sie die Eingabetaste, um Hör auf damit…

    bietet auch WADL durch Zugriff auf Anwendung.wadl Sie können die vom aktuellen REST-Dienst veröffentlichte Schnittstelle erhalten:

     base="http ://localhost:8080/myapp/">

       path= "myresource">

    id="getIt"name=" GET">

                                                 ponse>.

                                                                         🎜>/>

    & lt;/methode & gt;

    Quellen & gt;

    Zugriffsdienst

    kann direkt aufgerufen werden

    http://localhost:8080/myapp /myresource kann auf den REST-Dienst zugreifen. Wenn Sie direkt auf den REST-Dienst zugreifen, wird Got it!

  • Projektbeschreibung

    Der Befehl zum Starten des Dienstesmvnexec: java, dieser Befehl ruft tatsächlich den durch den exec-maven definierten Befehl auf -plugin-Plugin Das Ziel, dessen Wert Java ist, wird zum Auslösen der Hauptfunktion in mainClass verwendet. Die Plug-in-Konfiguration lautet wie folgt:

    org.codehaus.mojo

    exec-maven-plugin

    1.2.1

    🎜>

                                                                                                                                              >

                                                          🎜>

                                                                                              🎜>

     

     org.drsoft .rest .Main

     

    🎜>REST-Dienstklasse ist

    MyResource, der Ressourcenpfad ist in seinem @Path definiert und GET ist in der @GET-Methode definiert getIt(), @Produces definiert den Antworttyp als a normale Zeichenfolge. Der Beispielcode lautet wie folgt: @Path(

    "myresource"

    ) öffentliche Klasse MyResource {

     

    @GET

     @Produces

    (MediaType.TEXT_PLAIN)

     public

    String

    getIt() { zurück

    „Verstanden!“;        }

    }

    Die Unit-Test-Klasse MyResourceTest des REST-Dienstes in der Unit-Test-Klasse ist vor der Ausführung erforderlich der Unit-Test Starten Sie den Dienst und verwenden Sie die in Jersey

    Client definierte Methode, um den REST-Dienst aufzurufen. Der Beispielcode lautet wie folgt: öffentliche Klasse MyResourceTest {

     privater

    HttpServer-Server;

     privat

    WebTarget-Ziel ;

     @Before

     public

    voidsetUp() throws Exception {                                                                                                                                                       

                    // Client erstellen

                    Client c = ClientBuilder.newClient();

       

                    // Kommentieren Sie die folgende Zeile aus, wenn Sie sie aktivieren möchten

                    // Support für JSON im Client (Sie müssen auch den Kommentar entfernen

                    // Abhängigkeit vom Jersey-Media-Json-Modul in pom.xml und Main.startServer())

                    // --

                    🎜>                   target = c.target(Main.BASE_URI);

            }

       

            @After

            öffentlichnichtig

    tearDown

    () wirft Ausnahme {                 server.stop();        }

       

            @Test

            öffentlichnichtig

    testGetIt

    () {                String ResponseMsg = target.path("myresource") .request().get(String.class);

     assertEquals("Verstanden!", ResponseMsg);

           }

    }

  • Basierend auf Servlet-Container-Service

  • Projekt erstellen

    Wir bevorzugen die Verwendung des Prototyps mit archetypeGroupId als org.glassfish.jersey.archetypes und archetypeArtifactId als jersey-quickstart-webapp Prototyp, erstellen Sie ein REST-Service-Projekt, verwenden Sie IDEA, um das Projekt wie folgt zu erstellen:

  • Führen Sie den Dienst aus

    Da es sich um ein Webprojekt handelt und keine Hauptfunktion hat, ist es muss in einem Servlet-Container bereitgestellt werden, bevor es ausgeführt werden kann. Die Konfiguration von IDEA ist wie folgt:

    • Klicken Sie auf Ausführen im Menü BearbeitenKonfiguration, fügen Sie die Tomcat-Dienstkonfiguration im geöffneten Formular hinzu und geben Sie die Installation an Verzeichnis von Tomcat und legen Sie den Namen der aktuellen Site fest. Der Name des bereitgestellten virtuellen Verzeichnisses lautet wie folgt:

      Nachdem Sie auf OK geklickt haben, ist der Servlet-Container konfiguriert und der Dienst kann ausgeführt werden

  • Auf den Dienst zugreifen

    Nachdem der Dienst gestartet wurde, können wir auf http://localhost:8080 zugreifen /RESTWebAPP/webapi /myresource zum Aufrufen des REST-Dienstes wird Got it!

  • Projekt ausgeben Beschreibung

    Der Name des Web-Stammverzeichnisses ist webapp, die Standardversion des Servlet-Containers ist 2.5 und die Datei WEB-INF/web.xml ist für die Konfiguration des REST-Dienstes konfiguriert :

    Version="1.0"Kodierung="UTF -8"? >

    siehe Implementierungsdetails -->

    version="2.5"xmlns="http://java.sun.com /xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee ">

     

        Jersey-Webanwendung

         org.glassfish.jersey.servlet.ServletContainer

        

     jersey.config.server.provider.packages

    🎜> >

            

            

                    🎜>                /webapi/*

            

     

     

Das obige ist der detaillierte Inhalt vonErstellen Sie einen Jersey-REST-Dienst basierend auf Maven. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Einführung in Java-DatentypenNächster Artikel:Einführung in Java-Datentypen