Java 为移动应用程序设计后端?

Java 为移动应用程序设计后端?,java,spring-mvc,web-applications,mobile-application,spring-restcontroller,Java,Spring Mvc,Web Applications,Mobile Application,Spring Restcontroller,我有一个web应用程序,其中典型的流程是 HTML表单提交>MVC控制器(spring)>服务(获取数据) 最终,大多数控制器方法返回html数据 现在我还需要开发移动应用程序。根据我的理解,我需要创建新的Rest控制器来返回JSON数据 移动应用程序将连接到rest控制器,而web应用程序将继续连接到已就位的web控制器。正确吗?这取决于控制器的编写方式 如果您的控制器操作类似于REST操作,则可以使用spring mvc根据请求返回html或json。这将取决于控制器的编写方式 如果您的控制

我有一个web应用程序,其中典型的流程是

HTML表单提交>MVC控制器(spring)>服务(获取数据)

最终,大多数控制器方法返回html数据

现在我还需要开发移动应用程序。根据我的理解,我需要创建新的Rest控制器来返回JSON数据


移动应用程序将连接到rest控制器,而web应用程序将继续连接到已就位的web控制器。正确吗?

这取决于控制器的编写方式


如果您的控制器操作类似于REST操作,则可以使用spring mvc根据请求返回html或json。

这将取决于控制器的编写方式


如果您的控制器操作与REST类似,您可以使用spring mvc根据请求返回html或json。

我当前的大多数控制器方法都会返回html数据,以便spring mvc内容协商工作,您需要从控制器返回模型对象,以便视图解析器可以委托给html或json视图。实际上,我的意思是大多数控制器方法都做两件事:1)返回视图解析器为jsp解析的字符串;2)在模型中添加数据,jsp在渲染时使用该模型。我相信你所建议的是
在你发布的链接中结合数据和演示格式
部分,或者最后一种方法是使用单一方法的
contentnegotingviewresolver
。我喜欢使用
contentnegotingviewresolver
的最后一种方法,其中可以使用单一方法,控制器只需添加模型中的域对象和返回字符串(指定视图名称)。现在view resolves将根据预期的输出内容类型解析视图名称。我相信我只需要添加更多的视图,比如Json视图和spring就可以了。使用第二种方法,我可以添加新的方法来返回json数据,但这需要更多的工作。是的,它可能会为您提供更干净的代码(更少的控制器),但如果您必须重构现有的控制器和jsp视图,则可能会遇到更大的麻烦。您可能还希望REST帖子中包含json内容类型,但html表单帖子中包含html代码,这将是另一个挑战。我当前的大多数控制器方法都会返回html数据,以便spring mvc内容协商工作,您需要从控制器返回模型对象,以便视图解析器可以委托给html或json视图。实际上,我的意思是大多数控制器方法都做两件事:1)返回视图解析器为jsp解析的字符串;2)在模型中添加数据,jsp在渲染时使用该模型。我相信你所建议的是
在你发布的链接中结合数据和演示格式
部分,或者最后一种方法是使用单一方法的
contentnegotingviewresolver
。我喜欢使用
contentnegotingviewresolver
的最后一种方法,其中可以使用单一方法,控制器只需添加模型中的域对象和返回字符串(指定视图名称)。现在view resolves将根据预期的输出内容类型解析视图名称。我相信我只需要添加更多的视图,比如Json视图和spring就可以了。使用第二种方法,我可以添加新的方法来返回json数据,但这需要更多的工作。是的,它可能会为您提供更干净的代码(更少的控制器),但如果您必须重构现有的控制器和jsp视图,则可能会遇到更大的麻烦。您可能还希望REST文章中包含json内容类型,但html代码中包含html表单文章,这将是另一个挑战。