Páginas

domingo, 25 de março de 2012

RESTful Web Services with JAX-RS


RESTful Web Services with JAX-RS


Criando um WebService com RESTful, no netbeans.

Primeiro passo, criar uma aplicação web;

Segundo adicionar a classe vai publicar os recursos do Web Services, neste exemplo vou criar a classe chamada de Recurso.

Para transformar a classe um "servidor rest" você deve adicionar a anotação 

@ApplicationPath("/recurso")

e fazer um extend da classe Application, e os imports ficam assim: 

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;


Veja a classe completa como fica:


package servico;

import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

/**
 *
 * @author Marcelo Gomes
 */

@ApplicationPath("/recurso")
public class Recurso extends Application{
    
}



Simples ne, agora vamos mandar nosso Web Service fazer alguma coisa


import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 *
 * @author Marcelo
 */


@Path("/ola")
public class Calculadora{
    
    
    @GET    
    @Produces(MediaType.TEXT_PLAIN)
    public String falaOla(){
        return "ola pessoal fa do restfull Default";
    }
    
    @GET    
    @Path("/sim")
    @Produces(MediaType.TEXT_PLAIN)
    public String falaOlaSim(){
        return "ola pessoal fa do restfull Sim";
    }
    
    @GET    
    @Path("/nao")
    @Produces(MediaType.TEXT_PLAIN)
    public String falaOlaNao(){
        return "ola pessoal fa do restfull nao";
    }
    
    
    
}


Ou recebendo informações pela URL

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

/**
 *
 * @author Marcelo Gomes
 */
@Path("/teste/{nome}")
public class Teste {
    
    @GET
    @Consumes(MediaType.TEXT_PLAIN)
    @Produces(MediaType.TEXT_PLAIN)        
    public String fazOTeste(@PathParam("nome") Long nome){
        return "Testando..." + nome;
    }

    
    
}

Nenhum comentário:

Postar um comentário