相同的REST端点,支持浏览器和REST客户端

时间:2013-03-28 17:05:00

标签: web-services rest java-ee web-applications

我们的团队目前正在研究开发新网络监控系统的接口。我们将支持从以下系统访问系统:

  1. 网络浏览器(基于Javascript / HTML5)

  2. 任何REST客户端(可以是命令行REST shell或其他更高级别的系统,例如:做mashup)。

  3. 我们考虑在服务器端(基于Java EE)提供相同的REST端点,以支持两种类型的客户端。这是因为,从某种意义上说,我们认为浏览器也是一个REST客户端。因为我们认为它可以避免服务器端的任何重复。而且我们对工程师的影响很小(毕竟这可能是一件好事!)。

    我们将使用Ajax在浏览器上进行异步请求/响应处理。我们认为任何其他REST客户端都需要处理它想要的任何异步。

    1)这几天通常是这样做的吗?

    2)这是一个好方法,不管其他什么考虑? 或者在做出这个决定之前是否需要考虑任何其他方面?

    3)我认为这意味着我们只将所有响应作为JSON从服务器发送并仅进行客户端呈现。对吗?

1 个答案:

答案 0 :(得分:1)

你好!这是我的意见:

1) Is this how it is usually done these days ?

是。 REST Api的大部分都是在同一服务器端API上构建的。此API向客户端提供信息,无论客户端是什么,必须是浏览器或命令行调用。

您可以查看免费的Apigee ebooks,尤其是this one,以获取有关如何构建功能强大的Restful api的更多信息。

2) Is this a good approach, regardless of any other consideration? Or does one need to consider any other aspect, before making this decision ?

我认为这是最好的方法,你有一个api来管理你对客户的服务。

3) I think this implies that we are to send all responses as JSON only from the server and do client-side rendering only. Right ?

右。某些javascript框架(如AngularJS)仅使用来自Rest Client的JSON响应在浏览器上执行所有渲染。你也可以使用JQuery。