如何扩展我的Web应用程序框架(MVC)以服务于移动客户端?

埃里克·穆勒(Eric Muller)
  • 这是我正在从事的大学项目,因此代码越少越好。我对理解关键概念更感兴趣
  • 我使用Play框架(它是使用MVC模式的框架)构建了一个基本的客户端/服务器网络应用程序
  • 因此,现在,当用户转到网页并选择命令时,该命令将被适当地路由到正确的Controller方法,该方法从DB中获取数据并对其进行操作,然后将其返回给用户/客户端。返回的数据可以是任何对象(arraylist,hashmap,请为它命名!)。漂亮又简单。然后,我的“视图”将显示适当的数据。
  • 现在,我正在创建一个本机android应用程序,该应用程序实际上是该Web应用程序的克隆。它们将具有相同的功能,等等。由于服务器上已经存在该逻辑,并且整个体系结构都已就绪,因此在我看来,Web和移动应用程序之间最大的区别在于数据的传输方式。
  • 如上所述,可以轻松地在Web应用程序中来回发送数据。但是,对于移动应用程序,我决定使用Java中的HTTP Post请求/响应功能与服务器(使用JSON)进行通信。
  • 我已经建立了一个基本示例,以确保该功能能够按预期工作...我能够将android应用程序中的JSON发送到服务器,并从服务器中检索一些数据。好的
  • 现在,我的问题是:我应该如何使用和操纵当前的服务器/控制器,使其既可以服务于网络应用程序,也可以服务于移动应用程序?请允许我详细说明...我目前有一个控制器,该控制器是:
    1)提取数据并对其进行操作
    2)将数据发送到Web应用程序客户端
  • 现在,“简便”的出路(我不想这样做,因为它不正确,并且会对我的成绩产生负面影响)将是创建一个新的控制器Controller2,它是第一个控制器的精确副本,但会延迟,因为它将以JSON形式呈现/组合(待返回的)数据,然后将其发送回去。但是,代码重复太多,这很糟糕。
  • 因此,现在,我该如何精确地使用现有的Controller逻辑,但能够将其提供给Web应用程序和移动应用程序?我需要一些指导,因为我能够召集的唯一想法是拥有3个控制器(1个逻辑控制器,1个Web应用程序控制器,1个移动控制器),并且Web应用程序/移动控制器将调用逻辑控制器,获取所需的数据,然后将其适当地组装,然后再将其传递到Web应用程序或移动电话(Web应用程序控制器会像现在一样将数据取回然后传递给客户端;而移动控制器将获取数据,并在将其发送给手机之前将其呈现为JSON)。

请帮忙,谢谢!

詹姆斯·罗珀

所需内容的术语称为“内容协商”,有关如何在Play with Java中进行操作的文档位于此处:

http://www.playframework.com/documentation/2.2.x/JavaContentNegotiation

如果您在服务器端使用Scala,则可以在以下位置找到文档:

http://www.playframework.com/documentation/2.2.x/ScalaContentNegotiation

确保您的移动客户端发送带有所有请求Accept标头application/json(而不是类似的东西*,这将导致服务器向其返回HTML)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过移动应用程序扩展重客户端

来自分类Dev

如何在客户端应用程序中访问Web服务?

来自分类Dev

如何从客户端而不是服务器或Web应用程序获取数据?

来自分类Dev

如何测试Web服务客户端应用程序是否支持TLS?

来自分类Dev

如何从客户端Web发送消息到服务器MFC应用程序?

来自分类Dev

Xamarin移动客户端中使用Azure移动应用程序服务的数据库

来自分类Dev

无法从客户端计算机和移动设备访问我的Web应用程序

来自分类Dev

在Azure移动应用程序服务客户端中,如何设置userId以使loginAsync起作用?

来自分类Dev

带有移动和Web客户端的Amazon Web Services上的Java应用程序

来自分类Dev

带有移动和Web客户端的Amazon Web Services上的Java应用程序

来自分类Dev

Android客户端-服务器应用程序和Web服务

来自分类Dev

如何在Spring MVC应用程序中插入TCP-IP客户端服务器

来自分类Dev

如何在Spring MVC应用程序中插入TCP-IP客户端服务器

来自分类Dev

如何在ASP.NET Web应用程序中的服务器和客户端之间进行通信?

来自分类Dev

如何在客户端/服务器应用程序中区分多个客户端

来自分类Dev

如何从客户端桌面应用程序向服务器端Spring应用程序发送请求?

来自分类Dev

如何为移动应用程序客户端的后端Django使用CSRF安全性

来自分类Dev

RESTful Web应用程序中的客户端服务器体系结构

来自分类Dev

Web应用程序的客户端与服务器通信的样式指南

来自分类Dev

客户端服务器和Web应用程序之间的身份验证

来自分类Dev

Windows的客户端/服务器Web基础应用程序

来自分类Dev

从客户端应用程序中的Web服务发送的解析代码

来自分类Dev

客户端服务器应用程序的Angularjs

来自分类Dev

客户端应用程序vs Windows服务vs?

来自分类Dev

WCF客户端服务器应用程序

来自分类Dev

客户端应用程序vs Windows服务vs?

来自分类Dev

应用程序的客户端 - 服务器架构

来自分类Dev

通过MVVM客户端查看和操作MVC Web应用程序的模型

来自分类Dev

我可以在 android apk 中动态下载 Web 应用程序客户端并启动吗?

Related 相关文章

  1. 1

    通过移动应用程序扩展重客户端

  2. 2

    如何在客户端应用程序中访问Web服务?

  3. 3

    如何从客户端而不是服务器或Web应用程序获取数据?

  4. 4

    如何测试Web服务客户端应用程序是否支持TLS?

  5. 5

    如何从客户端Web发送消息到服务器MFC应用程序?

  6. 6

    Xamarin移动客户端中使用Azure移动应用程序服务的数据库

  7. 7

    无法从客户端计算机和移动设备访问我的Web应用程序

  8. 8

    在Azure移动应用程序服务客户端中,如何设置userId以使loginAsync起作用?

  9. 9

    带有移动和Web客户端的Amazon Web Services上的Java应用程序

  10. 10

    带有移动和Web客户端的Amazon Web Services上的Java应用程序

  11. 11

    Android客户端-服务器应用程序和Web服务

  12. 12

    如何在Spring MVC应用程序中插入TCP-IP客户端服务器

  13. 13

    如何在Spring MVC应用程序中插入TCP-IP客户端服务器

  14. 14

    如何在ASP.NET Web应用程序中的服务器和客户端之间进行通信?

  15. 15

    如何在客户端/服务器应用程序中区分多个客户端

  16. 16

    如何从客户端桌面应用程序向服务器端Spring应用程序发送请求?

  17. 17

    如何为移动应用程序客户端的后端Django使用CSRF安全性

  18. 18

    RESTful Web应用程序中的客户端服务器体系结构

  19. 19

    Web应用程序的客户端与服务器通信的样式指南

  20. 20

    客户端服务器和Web应用程序之间的身份验证

  21. 21

    Windows的客户端/服务器Web基础应用程序

  22. 22

    从客户端应用程序中的Web服务发送的解析代码

  23. 23

    客户端服务器应用程序的Angularjs

  24. 24

    客户端应用程序vs Windows服务vs?

  25. 25

    WCF客户端服务器应用程序

  26. 26

    客户端应用程序vs Windows服务vs?

  27. 27

    应用程序的客户端 - 服务器架构

  28. 28

    通过MVVM客户端查看和操作MVC Web应用程序的模型

  29. 29

    我可以在 android apk 中动态下载 Web 应用程序客户端并启动吗?

热门标签

归档