怎么用玩!开发Web服务的框架?

时间:2010-12-22 19:19:49

标签: web-services playframework

如何使用play开发webservice?

我在官方网站上找不到任何文件。

1 个答案:

答案 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

的常规groovy模板返回结果

要设置正确格式化的路线,请将以下行添加到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/