Maison >Java >javaDidacticiel >Créer un service Jersey REST basé sur Maven

Créer un service Jersey REST basé sur Maven

巴扎黑
巴扎黑original
2017-06-23 13:58:031822parcourir
  • Service REST basé sur JavaSE

  • Créer un projet

    Nous préférons utiliser le prototype avec archetypeGroupId comme org.glassfish.jersey.archetypes et archetypeArtifactId comme jersey-quickstart-grizzly2 pour créer le service REST Projet, utilisez IDEA pour créer le projet comme suit :

    Cliquez sur OK pour créer un projet en utilisant le modèle original.

  • Exécuter le service

    Une fois le projet créé, le modèle d'origine a créé un service REST par défaut. Nous pouvons démarrer le service REST directement, entrer dans le répertoire racine du projet et exécuter la commande suivante pour créer et démarrer le service. :

    mvnpackage

    mvnexec :java

    démarrera le service REST. Vous pouvez arrêter le service à tout moment en appuyant sur la touche Entrée. Le résultat est le suivant :

    <.>

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

    Message : Écouteur démarré lié à [localhost:8080]

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

    Informations : [HttpServer ] Démarré.

    L'application Jersey a démarré avec WADL disponible sur http://localhost:8080/myapp/application.wadl

    Appuyez sur Entrée pour arrêtez ça…

    fournit également WADL en accédant à l'application.wadl vous pouvez récupérer l'interface publiée par le service REST actuel :

     

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

       

    chemin= "ma ressource">

    id="getIt"nom=" OBTENIR">                                                ponse>

                                                                              🎜>/>

                                                                                                             

                                                   sources> ;

    Service d'accès

    accessible directement

    http://localhost:8080/myapp /myresource peut accéder au service REST Si vous accédez directement au service REST, Compris sera affiché.

  • Description du projet

    La commande pour démarrer le servicemvnexec: java, cette commande appelle en fait celle définie par le exec-maven -plugin plugin Le goal dont la valeur est java est utilisé pour déclencher la fonction main dans mainClass La configuration du plug-in est la suivante :

    .

    org.codehaus.mojo

    exec-maven-plugin

    1.2.1

    🎜>

                                             >                                                                                                             >

                                                            🎜>

                                               >

                                                                        🎜>  

     org.drsoft .rest .Main

     

    🎜>La classe de service REST est

    MyResource, le chemin de la ressource est défini dans son @Path et GET est défini dans la méthode @GET getIt(), le type de réponse défini dans @Produces est une chaîne normale, l'exemple de code est le suivant : @Path(

    "myresource"

    )cours public MyResource {

     

    @GET

     @Produces

    (MediaType.TEXT_PLAIN)

     public

    String

    getIt() { retour

    "Compris!";        }

    }

    La classe de tests unitaires MyResourceTest du service REST, dans la classe de tests unitaires, est requise avant l'exécution le test unitaire Démarrez le service et utilisez la méthode définie dans Jersey

    Client pour appeler le service REST L'exemple de code est le suivant : classe publique. MyResourceTest {

     privé

    Serveur HttpServer ;

     privé

    Cible WebTarget ;

     @Avant

     public

    voidsetUp() lances Exception {                                                                                                                                                              

                    // créer le client

                    Client c = ClientBuilder.newClient();

       

                    // décommentez la ligne suivante si vous souhaitez activer

                    // support pour JSON dans le client (vous devez également décommenter

                   // dépendance sur le module jersey-media-json dans pom.xml et Main.startServer())

                    // --

                    // c.configuration().enable(new org.glassfish.jersey.media.json.JsonJaxbFeature());

       

                    target = c.target(Main.BASE_URI);

            }

       

            @Après

            publicvoidtearDown() lance Exception {

                    server.stop();

            }

       

            @Test

            publicvoidtestGetIt() {

                    String réponseMsg = target.path("myresource") .request().get(String.class);

     assertEquals("Compris!", réponseMsg);

           }

    }

  • Basé sur le service de conteneur Servlet

  • Créer un projet

    Nous préférons utiliser le prototype avec archetypeGroupId comme org.glassfish.jersey.archetypes et archetypeArtifactId comme jersey-quickstart-webapp prototype, créez un projet de service REST, utilisez IDEA pour créer le projet comme suit :

  • Exécuter le service

    Comme il s'agit d'un projet Web et n'a pas de fonction principale, il doit être déployé dans un conteneur Servlet avant de pouvoir être exécuté, nous devons configurer Tomcat La configuration d'IDEA est la suivante :

    • <.>Cliquez sur Exécuter ModifierConfiguration, ajoutez la configuration du service Tomcat dans le formulaire ouvert, spécifiez l'installation répertoire de Tomcat, et définissez le site actuel. Le nom du répertoire virtuel déployé est le suivant :

      Après avoir cliqué sur OK, le conteneur de servlet est configuré et le service peut être exécuté

  • Accéder au service

    Une fois le service démarré, nous pouvons accéder à http://localhost:8080 /RESTWebAPP/webapi /myresource pour appeler le service REST affichera Compris !

  • Projet Description

    Le nom du répertoire racine Web est webapp, la version par défaut du conteneur Servlet est 2.5 et le fichier WEB-INF/web.xml est configuré pour configurer le service REST. La configuration web.xml est la suivante. :

    version="1.0"encodage="UTF -8"? >

    voir les détails d'implémentation -->

    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 ">

     

       Application Web Jersey

         org.glassfish.jersey.servlet.ServletContainer

        

     

    jersey.config.server.provider.packages

     

    org.drsoft.rest

                                                               >                                                                         

            

            

                    Application Web Jersey

                    /webapi/*

            

      

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn