2017-03-26 33 views
-2

如果這個問題更適合另一個論壇,請指點我一樣。

我正在編寫一個Web應用程序,它將從多個REST源中以JSon格式提取數據。 UI使用了一些JavaScript技術,如Knockout.js等,我使用它顯示圖表,圖表等。
我已經在java中編寫了一箇中間層,它充當java腳本和REST源之間的「代理」 - 這個想法是讓javascript層REST調用與用戶/用戶角色無關,並讓中間層使用REST服務器/端點來調用。這個java代碼調用實際的REST端點,並公開一個通用的REST端點通過java腳本。

問題是,大多數REST調用返回的json與我的java腳本技術所需的結構不同(它們是數據的普通數組,而每個java腳本組件像圖需要數據以非常特定的格式)。另外,我絕不能修改這些REST調用的來源。
這意味着我將不得不在我收到的json上做一些處理。

我的問題是,我應該在哪裏做這個處理?我應該在java腳本代碼中執行它,還是在java中間代碼中執行它更合適?

我的一個朋友建議我應該這樣做在JavaScript因爲:我應該在哪裏寫JSon處理腳本 - java或javascript

  1. 在將來,我可能會最終使一些REST直接從 Java腳本調用,然後我就結束了相似的邏輯在兩個地方 - Java腳本和java
  2. JSON是JSON,JavaScript的將有更好的處理能力
  3. 如果我在Java中做到這一點,我也增加了休息的呼叫數 增色不少。



我有點不舒服做它在Java腳本,因爲:

  1. 我不是在JavaScript(我承認)
  2. 如果用Java編寫的邏輯在服務器端執行舒適編碼而不是用戶 瀏覽器,這是我希望更快。(A快速加載網頁是怎麼樣的一個 必須在這裏)



我是對還是錯?任何其他優點/缺點?

P.S.並不是說我很在乎,但是沒有提及其理由並沒有幫助任何人。

+0

我會做服務器端的所有處理。你有一個nodejs或只是java? –

+0

現在只是一個普通的java servlet – Arnab

回答

1

不要聽你的朋友。他的論點都是錯誤的。

  1. 當您使用Java服務器端時,直接使用JavaScript調用您的提供程序是一個壞主意。使用混合模式是非常非常糟糕的主意。

  2. JSON處理方便,在Java中比在JavaScript更好忽視的是JSON是 「Ĵ AVA 小號 CRIPT Ø bject ñ浮選」。只需選擇一個你想要更好的包:傑克遜,Gson或其他東西...

所以...在Java服務器上做到這一點。這是一個適當的地方。 當您需要將數據從外部提供者轉換爲客戶端所需的格式時,您的平均集成用例就是如此。

+0

順便說一句,他還提到,這將增加休息電話的數量..我不知道它是好還是壞。 – Arnab

+0

使用服務器端的代碼,取決於您想要做多少個REST調用。這是關於協調和整合。使用JavaScript,它超出了你的控制範圍。這取決於你的提供者。無論如何兩種方式都適用。做出決定,稍後不要更改。服務器端是更可取的,但它取決於你和你的偏好。 – Vadim