我们现在将Restful Web Services整合到我们的系统中,因此,浏览器和移动客户端都能够通过Restful成功访问我们的系统以单一形式提供(客户端访问相同的代码;不同的客户端没有不同的后端代码)网络服务(即)
请求: 从技术上讲,Restful Web Service API已经构建在我们现有的系统之上(专门构建在MVC的Controller之上)。移动客户端(无论是Android(或)iOS(或)Windows)和浏览器客户端(Web窗体)使用构建的Restful API,用于访问我们的系统并将DATA传输到我们的系统。
响应: 因此,一旦我们在我们的系统(Controller)中获取数据,它就会通过从DAO和业务层来回移动来处理,最后处理后的数据落在Controller中,以便将其返回给各自的客户端。所以,在这个地方,目前我们确定发出请求的客户端类型(移动应用程序或浏览器)和
RETURN仅处理DATA
IF
Client is 'Mobile App' (or)
返回已处理的DATA + Web视图名称
ELSE
Client is 'Browser'
注1:我们在两种情况下都返回了javax.ws.rs.core.Response对象。
注2:处理后的DATA可以是PlainText(或)XML(或)JSON(或)String
要澄清: 现在我们的问题是,我们是否可以消除这种IF-ELSE条件以返回东西(即)是否有一种方法只有一个RETURN语句返回泛型的东西,而不管返回东西的客户端是什么?如果是这样,那么不同的客户端(在我们的例子中,移动应用程序和浏览器)如何解释返回的内容并向我们呈现视图?