2010-06-06 175 views
6

Como los servicios web RESTful están basados ​​en url no son objetos, no podemos invocar métodos sobre ellos. Tengo un servicio web simple con solo un método con @GET. Vi un screencast y utilizó alguna biblioteca de JavaScript para consumir el servicio web. Pero, ¿cómo lo uso con mi proyecto JSF? Ni siquiera puedo inyectarlo como un servicio web normal. Por favor ayuda. Soy nuevo en REST. ¿No puedo consumirlo en mi bean administrado?¿Cómo consumir el servicio web RESTful en mi proyecto JSF?

Si la única manera de consumir el servicio web es a través de javascript, ¿alguien aquí puede darme detalles de cómo consumirlo a través de JQuery?

Gracias de antemano :)

Respuesta

9

Puede consumirlo en su bean administrado sin ningún problema. Los servicios web RESTful generalmente devuelven objetos con formato JSON o XML. Puede llamar al servicio web tranquilo y, dependiendo del formato de su respuesta, analizarlo utilizando un analizador XML o un analizador JSON, o incluso mejor utilizar un asignador para asignar la respuesta a un objeto Java y utilizarlo en otro lugar de la aplicación.

Se discuten las bibliotecas de mapeo Java-JSON here (screen capture here).

Usted puede utilizar JAXB para el mapeo XML en Java: https://jaxb.dev.java.net/tutorial/

Un asignador XML, los mapas de un documento XML a un objeto Java.

Por ejemplo, si la respuesta del servicio web que está utilizando es:

asignador
<SampleResponse> 
<firstName>James</firstName> 
<lastName>Gosling</lastName> 
</SampleResponse> 

Un XML puede convertir eso en una instancia de la clase siguiente:

public class SampleResponse { 
private String firstName; 
private String lastName; 
// setters and getters 
} 

En una forma de esta manera:

SampleResponse myResponseObj = mapper.fromXML(xmlRespnse); 

Los mapeadores JSON funcionan de manera similar.

+0

Lo sentimos, pero no entendí qué es mapper y qué analizadores sintácticos? ¿De dónde obtengo esos analizadores? Si me puede dar algunos enlaces a algún tutorial, estaré muy agradecido. – TCM

+0

Los correlacionadores JSON ya se han discutido aquí: http://stackoverflow.com/questions/338586/a-better-java-json-library Es posible que desee utilizar JAXB para asignar respuestas XML a objetos Java: https: // jaxb .dev.java.net/tutorial/ – Behrang

+0

Los enlaces al mapeador Json están rotos. –

Cuestiones relacionadas