Top Posts

Entendendo Servlet

Continue lendo

Jersey com JSON em 5min

Posted by camilolopes | Posted in Java | Posted on 21-10-2013

3

 

Olá Pessoal,

O post de hoje tem como objetivo ensinar como retornar um objeto JSON usando Jersey em 5min. Então acredito que você já sabe o que é Jersey e o que é um objeto JSON, certo? Vou pular toda a teoria e ir direto para prática.

Lets go…

Starting

  1. Crie um projeto maven webapps
  2. No pom.xml deixe assim :

<dependency>

       <groupId>com.sun.jersey</groupId>

       <artifactId>jersey-server</artifactId>

       <version>1.8</version>

    </dependency>

    <dependency>

       <groupId>com.sun.jersey</groupId>

       <artifactId>jersey-json</artifactId>

       <version>1.8</version>

    </dependency>

<build>

    <finalName>hellojersey</finalName>

  </build>

 

Em src/main/java crie um package  e uma classe:

 

jerseypackage

HelloJerseyService.java

É a classe que terá o serviço, veja:

@Path(“/hello”)

public class HelloJerseyService {

       @GET

       @Path(“/client”)

       @Produces(MediaType.APPLICATION_JSON)

       public Client getCliente() {

             Client client = new Client();

             client.setName(“Hello World Camilo”);

             return client;

       }

}

 

@Path – aqui estamos dizendo que caminho seguir para acessar esse serviço. E para obter um cliente é através do /client sendo a url completa assim /hello/client

Crie a classe Client.java

public class Client {

       private String name; 

       public String getName() {

             return name;

       } 

       public void setName(String name) {

             this.name = name;

       }      

}

 

Abra o arquivo web.xml, pois precisamos dizer que vamos usar o Jersey e fazer umas configurações, portanto crie o servlet a seguir:

<servlet>

  <servlet-name>jersey-servlet</servlet-name>

  <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>

  <init-param>

   <param-name>com.sun.jersey.config.property.packages</param-name>

   <param-value>com.camilolopes.jersey.services</param-value>

  </init-param>

  <init-param>

   <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>

   <param-value>true</param-value>

  </init-param>

 </servlet>

 

No primeiro init-param estamos dizendo onde está o package com a classe de serviço para o Jersey.  No segundo estamos dizendo: “pode ser retornado um objeto JSON”. E aqui:

<servlet-mapping>

  <servlet-name>jersey-servlet</servlet-name>

  <url-pattern>/rest/*</url-pattern>

 </servlet-mapping>

Estamos configurando o mapping para acessar essa parte da aplicação, ou seja, será:

http://localhost:8080/hellojersey/rest/hello/client

Testando:

Execute o seguinte comando:

 maven  mvn tomcat:run

E acesse pelo browser http://localhost:8080/hellojersey/rest/hello/client

jerseyhelloworld

 

 Simples não? Vou ficando por aqui.

See ya!!

Abraços.

Related Posts with Thumbnails

Comments (3)

Ola boa noite!!!
Estou tentando usar o seu archtype e nao estou consguindo ,poderia me dar uma força, estou querendo separar tudo

olá Diego,

Qual archetype está tentando usar? E qual erro que aparece?

abraço,

Diego, o archetype a ser utilizado é especifico para o Jersey.
O archetype webapp, padrão do maven, não funciona.

Dá uma pesquisada no google para baixar o archetype do Jersey.

Write a comment