如何使用play开发webservice?
我在官方网站上找不到任何文件。
答案 0 :(得分:26)
非常简单。
Play提供了许多方法,您可以使用这些方法将您的操作公开为Web服务。
例如
render()
renderJSON()
renderXML()
这些都可以用于以特定方式呈现数据。
如果你有一个网络服务,让我们假设一个RESTful网络服务,你想要返回两个数字的总和,你可以通过以下方式这样做
public class Application extends Controller {
public static void sum(Float num1, Float num2) {
Float result = num1 * num2;
render(result);
}
}
如果您的路由设置为使用XML作为格式,或者在请求标头中正确设置了格式,则使用名为app/views/Application/sum.xml
要设置正确格式化的路线,请将以下行添加到route
文件
GET /webservices/sum Application.sum(format:'xml')
sum.xml看起来像
<response>
<sum>${result}</sum>
</response>
相同的概念适用于JSON。
但是,如果您不想使用groovy模板,则可以使用renderJSON
/ renderXML
方法创建XML或JSON,但这确实意味着您要在控制器中构建表示逻辑,这是不好的做法。
作为子注释,如果要使用webservices,则使用play.libs.WS类。我写了一篇关于如何做到这一点的博客
http://playframework.wordpress.com/2010/08/15/web-services-using-play/