我正在开发基于Tapestry 5的Web应用程序,该应用程序应向iPhone和Android设备公开API。目前,API是使用tapestry的内置MVC功能实现的。例如,所有服务都是处理程序方法,这些方法在专用于移动访问的Tapestry页面类中返回JSON字符串。使用Spring Security进行身份验证,并且每个用户都绑定到会话。我对这些东西比较新,所以如果我错了,请纠正我,但这似乎不是一个非常干净的解决方案。
此解决方案有哪些可能的缺点? 使用REST-API时有什么显着优势? 在这种情况下最佳做法是什么?
答案 0 :(得分:5)
答案 1 :(得分:1)
对于SeeSaw.com,我们有类似的要求来公开来自我们的T5 Web应用程序的提要,并尝试了许多不同的方法。
对于只读数据,我们公开了写一个T5页面/组件,它将XML(或JSON)呈现为一个feed。对于读/写数据,我们通过JSON实现tapestry OnXXX事件。通过这种方式将其拆分,您可以获得更高效的站点(因为可以缓存只读的内容)。
答案 2 :(得分:0)
也许这会有所帮助......
引用文章
在本文中,我想与您分享5.3中引入的一个新的令人敬畏的Tapestry功能。此功能允许您通过创建多个模板为单个页面提供不同的外观。 Tapestry使用这些不同的模板以特殊方式为不同的客户端呈现相同的页面。例如,在为标准客户端和移动客户端开发Web应用程序时,您可能需要根据当前客户端呈现不同的页面。因此,您需要为每个页面创建两个不同的模板,并根据客户端发送的用户代理选择其中一个模板。
这可能是您正在寻找的“清洁解决方案”?干杯!
...默里