2017-03-26 27 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