2013-07-12 59 views
0

使用RESTful JSON webservices的有效方法是什麼?使用JSON Webservices的有效方法?

如果我可以使用POJOs,那麼在調用一個以JSON數據字符串響應的web服務之後會自動填充的最好。

webservice不提供任何模式數據,如WSDL或XSD。 我知道Jackson庫可以將json字符串轉換爲pojos。但是,因此,這些pojos必須以前存在。

那麼,我怎麼能最好的自動生成它們,最好使用傑克遜註釋。

否則,你能推薦不同的框架嗎?

+1

沒有Web服務提供者「告訴你」可能的返回值(例如在SOAP服務中的WSDL中),沒有辦法可以從空中「生成」POJO。傑克遜帶有一個通用的'JSONObject',在某些方面,它就像一個'Map'(具有分配給鍵的值),您可以將其用於這種情況 - 但是除非您創建域對象,否則不會獲取域對象他們自己,或者除非API提供者具有您可以使用的客戶端JAR。 –

+0

[fastjson](https://github.com/alibaba/fastjson)怎麼樣? – liuzhijun

回答

1

我可以想到的一種方式是調用restful web服務(jax-rs)並使用接受應用程序/ xml http標頭標誌,這將返回一個xml表示形式。然後使用xjc和jaxb從xml創建一個模式和jaxb pojos,然後可以將相同的jaxb對象與接受應用程序/ json http頭一起使用,並且它應該從json響應自動轉換爲jaxb java對象。但是,你可以再次創建一個pojo,並首先用jaxb註釋對它進行註釋。

相關問題