2016-11-07 85 views
0

我遇到了我們公司正在使用的兩個應用程序之間的問題。一個叫做Infonova的CRM和一個移動應用程序。休息立面將xml映射到json

這兩個應用程序都有自己的API,一個是以xml格式給出響應,另一個是在Json中給出響應。

我想要實現的解決方案是創建一個應用程序,該應用程序將是一個門面API(網關)。這個應用程序將調用第一個應用程序的url API,並將得到xml響應,並且我正在考慮將此解決方案映射到json格式並將其返回。

由於xml和json之間的屬性不一樣,我想知道是否有解決方案來映射這兩個實體,這些實體將代表我的響應。

由於提前,

+0

你可以顯示你的輸入XML和你的輸出JSON嗎? –

回答

1

你可以定義XML unmarshaller彈簧,打電話給你的服務返回XML,對這個bean的解組應答。然後你可以返回這個bean作爲迴應,該控制器註釋爲@Produces("application/json")

所以,總結一下。你有一個控制器生成json,一個包含你想要在你的json中的字段名稱的bean,以及一個用於xml的自定義unmarshaller來填充這些字段(因爲json和xml之間的字段名稱不匹配而定製)。

+0

謝謝!這正是我想要做的,但是你有沒有定製解組器的例子。假設我的bean是一個名爲name的String屬性的人,另一方面我們使用一個名爲的根元素的xml和一個名爲的子元素來定義名稱。 我該如何映射這兩個特別是我在文檔中找到的示例在解組過程中需要bean的示例? – Habchi

+0

說jaxb看到這個答案http://stackoverflow.com/questions/15100680/jaxb-rename-attribute,你註釋你的豆,並在註釋中提供xml名稱 – borowis

+0

謝謝先生! :) – Habchi