将API公开给Tapestry Web应用程序

时间:2011-09-05 10:24:12

标签: java api mobile tapestry

我正在开发基于Tapestry 5的Web应用程序,该应用程序应向iPhone和Android设备公开API。目前,API是使用tapestry的内置MVC功能实现的。例如,所有服务都是处理程序方法,这些方法在专用于移动访问的Tapestry页面类中返回JSON字符串。使用Spring Security进行身份验证,并且每个用户都绑定到会话。我对这些东西比较新,所以如果我错了,请纠正我,但这似乎不是一个非常干净的解决方案。

此解决方案有哪些可能的缺点? 使用REST-API时有什么显着优势? 在这种情况下最佳做法是什么?

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:1)

对于SeeSaw.com,我们有类似的要求来公开来自我们的T5 Web应用程序的提要,并尝试了许多不同的方法。

对于只读数据,我们公开了写一个T5页面/组件,它将XML(或JSON)呈现为一个feed。对于读/写数据,我们通过JSON实现tapestry OnXXX事件。通过这种方式将其拆分,您可以获得更高效的站点(因为可以缓存只读的内容)。

答案 2 :(得分:0)

也许这会有所帮助......

Template Skinning

引用文章

  

在本文中,我想与您分享5.3中引入的一个新的令人敬畏的Tapestry功能。此功能允许您通过创建多个模板为单个页面提供不同的外观。 Tapestry使用这些不同的模板以特殊方式为不同的客户端呈现相同的页面。例如,在为标准客户端和移动客户端开发Web应用程序时,您可能需要根据当前客户端呈现不同的页面。因此,您需要为每个页面创建两个不同的模板,并根据客户端发送的用户代理选择其中一个模板。

这可能是您正在寻找的“清洁解决方案”?干杯!

...默里