chamando um web service rest com jsf
DESCRIPTION
Chamando Um Web Service REST Com JSFTRANSCRIPT
-
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.