RESTful Web服务:服务器如何同时发送View和; JSON / XML?

时间:2011-02-26 22:45:31

标签: jsp rest architecture restlet

我之前编写了一些虽然是小型RESTful Web服务(RWS)的代码。但在这些情况下,对视图(表示层)有完全控制权,即视图是平台上的本地运行应用程序(智能手机?)。在服务器上可以独立控制视图和RWS,它们将发送JSON(或文本或任何方便的表示,我们只假设JSON为主题)。

现在进入网络:视图(即HTML页面)驻留在服务器上。该服务器现在应该提供HTML和JSON。我的问题是2如何分开(或耦合)?这是一个例子: enter image description here

问题:

  1. 在将墙页面返回到客户端时图像中的步骤(X),在该页面上填充所有墙贴。如果它是一个客户端,其视图不是由服务器提供的,那么它可能只返回墙上帖子的JSON。那么在这种情况下如何处理这种情况呢?服务器是否应该返回具有所有呈现/格式化逻辑的服务器端页面(SSP)?

  2. 在步骤(Y),用户希望更新页面上的内容并将jQuery + Ajax HTTP:PUT发送到服务器(在某个URI处,因此wall page是一个外观?)。

  3. 混淆(==问题?: - )

    • 当请求发送到服务器时,如何区分JSON + SSP的问题?

    • 这是基于网络的客户端设计的吗?返回的第一个页面(X)实际上是一个SSP,它包含了对服务器进行Ajax / REST调用的所有逻辑?

    • 然后如何进行良好的页面构建,即JSP(说)+ jquery + CSS + AJAX? (在这种情况下是否有可能没有SSP设计?即只有HTML + jquery + CSS?)

    有点困惑..

    提前致谢

2 个答案:

答案 0 :(得分:0)

我想我不明白你在这里需要什么。

但为什么不简单地查看请求Content-Type标头并返回客户端他们问的内容?如果他们要求HTML,请发送HTML。如果他们要求JSON,请发送给他们JSON。

您可能需要考虑类似JAX-RS的内容,它会根据Content-Type调度代码,这可能会减轻您的痛苦。

答案 1 :(得分:-1)

Web浏览器只是一个渲染引擎。它只会呈现和执行Web服务器发送的内容。 在您的情况下,您必须发送浏览器html,无论该HTML是静态的还是在服务器上生成的,与浏览器无关。 当浏览器呈现html时,它还会运行您指定的任何js / css代码。

* Is this how web-based clients are designed?? The first page returned (X) is actually a SSP which includes all the logic for making Ajax/REST calls to the server??

是的,您发送到浏览器的html具有js代码,用于告知浏览器在发生特定事件时要执行的操作,例如按钮单击或页面加载。

* How does one then go about a good page construction i.e., JSP (say) + jquery + CSS + AJAX?? (Is it possible to have a NO SSP design in this case? i.e. only HTML + jquery + CSS??)
是的,您可以只提供一个静态的html页面,其中包含所有正确的js,浏览器就可以完成它的工作。

我希望能回答你的问题?