chamando um web service rest com jsf

Post on 17-Sep-2015

284 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

Chamando Um Web Service REST Com JSF

TRANSCRIPT

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 1/7

    public classUniversidadeJava{Pginainicial Apresentaes Materiais Certificaes Conheaosprofessores

    docs>

    Chamando um web service REST comJSFpostadoem6dedezde201209:07porRafaelSakurai

    Oservioweb(webservice)umaformadeintegraobemutilizadaatualmentepararealizaraintegraoentreaplicaes.OWebServiceRESTumadasformasdecriarumservioweb,queutilizadamuitooprotocoloHTTPpararealizaressaintegraoentreasaplicaes.

    OWebServiceRESTpodedisponibilizaratravsdoprotocoloHTTPmtodosparamanipulaodeinformaes,porexemplo:aofazerumarequisioHTTPatravsdomtodoGETparaaURLhttp://localhost:8080/CinemaREST/servico/filmespossvelobterumrecurso,quenessecasoumalistadefilmes.SechamaressaURLatravsdeumnavegadorpodemosverificaroretornodesseWebServiceREST.

    ParaconsumirumWebServiceREST,existemdiversasimplementaespossveis,umadelasatravsdaAPIJersey,queaimplementaoderefernciadoJavaEE.

    CrieumaaplicaowebchamadaCinemaJSF,queutilizaoframeworkdoJavaServerFacesparacriaodaspginasWEB.

    Vamosalterarumapginainicialindex.xhtml,paraqueelautilizeummanagedbeanparaconsumiressewebservio,apginaficarassim:

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 2/7

    xmlns:h="http://java.sun.com/jsf/html">MeuCinemaFilmesemcartaz

    OoutputTextirchamaromtodogetFilmesEmCartaz()damanagedbeanCinemaMB,quechamaowebserviceRESTquetraztodososfilmesemcartaz.

    ParautilizaraAPIdoJerseydentrodaaplicao,cliquecomobotodireitodomouseemcimadonomedoprojetoeescolhaoitemPropriedades.NateladepropriedadesacesseacategoriaBibliotecaseadicioneabibliotecaJersey1.8(JAXRSRI)atravsdomenuAdicionarBiblioteca.

    VamoscriaramanagedbeanCinemaMBcomaimplementaodomtodo:

    packagebr.metodista.managedbean;importcom.sun.jersey.api.client.Client;importcom.sun.jersey.api.client.WebResource;importjavax.faces.bean.ManagedBean;@ManagedBeanpublicclassCinemaMB{

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 3/7

    publicStringgetFilmesEmCartaz(){Clientc=Client.create();WebResourcewr=c.resource("http://localhost:8080/CinemaREST/servico/filmes");returnwr.get(String.class);}}

    ComaclasseClientpossvelobterumresourceweb(recursoweb)atravsda

    URLdowebserviceREST,ecomesserecursopossvelchamarosmtodosqueowebserviceRESTsuporta,como:get,post,put,delete,etc.

    Aochamaromtodowr.get(String.class),estamosesperandoqueachamadaparaesseserviodevolvaumaString,nesseexemploessaStringvemnoformatoJSON(JavaScriptObjectNotation),maspoderiaserumaStringsimples,umformatoXML,etc.AoexecutaraaplicaoCinemaJSFteremosaseguintetela:

    ParaconverteresseJSONemobjetoJava,podemosusarumaAPIsimplesdoGooglechamadagson(https://code.google.com/p/googlegson)querealizaessaconversodemaneirafcil.PrimeirovamoscriaraclasseFilmequeirrepresentarcadafilmedalista:

    packagebr.metodista.modelo;

    publicclassFilme{privateLongid;privateStringfilme;privateStringsinopse;privateStringgenero;

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 4/7

    privateIntegerduracao;privateStringtrailer;

    publicFilme(){}

    publicLonggetId(){returnid;}publicvoidsetId(Longid){this.id=id;}publicStringgetFilme(){returnfilme;}publicvoidsetFilme(Stringfilme){this.filme=filme;}publicStringgetSinopse(){returnsinopse;}publicvoidsetSinopse(Stringsinopse){this.sinopse=sinopse;}publicStringgetGenero(){returngenero;}publicvoidsetGenero(Stringgenero){this.genero=genero;}publicIntegergetDuracao(){returnduracao;}publicvoidsetDuracao(Integerduracao){this.duracao=duracao;}publicStringgetTrailer(){returntrailer;}publicvoidsetTrailer(Stringtrailer){this.trailer=trailer;}}

    Adicioneabibiotecadogsonnoprojeto,cliquecomobotodireitodomouseemcimadonomedoprojetoeescolhaoitemPropriedades.NateladepropriedadesacesseacategoriaBibliotecaseadicioneabibliotecagson2.2.2.jaratravsdomenuAdicionarJAR/Pasta.

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 5/7

    VamosalteraroCinemaMBparautilizaraAPIdogsoneconverteroJSONemumalistadefilmes:

    packagebr.metodista.managedbean;

    importbr.metodista.modelo.Filme;importcom.google.gson.Gson;importcom.google.gson.reflect.TypeToken;importcom.sun.jersey.api.client.Client;importcom.sun.jersey.api.client.WebResource;importjava.util.List;importjavax.faces.bean.ManagedBean;

    @ManagedBeanpublicclassCinemaMB{publicListgetFilmesEmCartaz(){Clientc=Client.create();WebResourcewr=c.resource("http://localhost:8080/CinemaREST/servico/filmes");Stringjson=wr.get(String.class);Gsongson=newGson();returngson.fromJson(json,newTypeToken(){}.getType());}}

    Agoravamosmudarapginaindex.xhtmlparamostrarumatabelacomosfilmes:

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 6/7

    MeuCinemaFilmesemcartaz

    Atelaficarcomaseguinteaparncia:

  • 19/02/2015 ChamandoumwebserviceRESTcomJSFpublicclassUniversidadeJava{

    http://www.universidadejava.com.br/docs/chamandoumwebservicerestcomjsf 7/7

    Fazerlogin | Denunciarabuso | Imprimirpgina | Tecnologia GoogleSites

    Comentrios

    Vocnotempermissoparaadicionarcomentrios.

top related