2010-06-06 34 views
6

由於REST風格的Web服務是基於URL的不是對象,我們無法調用它們的方法。我有一個簡單的網絡服務,只有一種方法,它是@GET。我看到了一個截屏視頻,它使用了一些JavaScript庫來使用Web服務。但是,如何將其與我的JSF項目一起使用?我甚至無法像普通的網絡服務那樣注入它。請幫忙。我是REST的新手。我無法在託管bean中使用它嗎?如何在我的JSF項目中使用RESTful Web服務?

如果消費Web服務的唯一方法是通過javascript,那麼這裏的任何人都可以告訴我如何通過JQuery使用它的細節嗎?

感謝提前:)

回答

9

您可以用沒有問題的託管bean使用它。 REST風格的Web服務通常會返回JSON或XML格式的對象。您可以調用restful Web服務,並根據其響應的格式,使用XML解析器或JSON解析器解析它,甚至可以更好地使用映射器將響應映射到Java對象,並在應用程序的其他位置使用它。

討論了Java-JSON映射庫herescreen capture here)。

您可以使用JAXB的XML-Java映射:https://jaxb.dev.java.net/tutorial/

的XML映射,將XML文檔映射到Java對象。

例如,如果從您正在使用的Web服務的響應是:

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

的XML映射器可以在轉換爲下面的類的實例:

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

在某種程度上像這樣:

SampleResponse myResponseObj = mapper.fromXML(xmlRespnse); 

JSON映射器以類似的方式工作。

+0

對不起,但我不明白什麼是映射器和什麼解析器?我從哪裏得到這些解析器?如果你可以給我一些指南的鏈接,我將非常感激。 – TCM 2010-06-06 12:13:20

+0

JSON映射器已在此處討論:http://stackoverflow.com/questions/338586/a-better-java-json-library 您可能想要使用JAXB將XML響應映射到Java對象:https:// jaxb .dev.java.net/tutorial/ – Behrang 2010-06-06 12:14:54

+0

與Json映射器的鏈接已中斷。 – 2016-10-31 01:09:00

相關問題