怎么用玩!开发webservice的框架?

Lio*_*yer 11 web-services playframework

如何使用play开发webservice?

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

Cod*_*nci 26

真的很简单.

Play提供了许多方法,您可以使用这些方法将您的操作公开为Web服务.

例如

render()
renderJSON()
renderXML()
Run Code Online (Sandbox Code Playgroud)

这些都可以用于以特定方式呈现数据.

如果您有一个Web服务,让我们假设一个RESTful Web服务,您想要返回两个数字的总和,您可以通过以下方式执行此操作

public class Application extends Controller {

    public static void sum(Float num1, Float num2) {
        Float result = num1 * num2;
        render(result);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果您的路由设置为使用XML作为格式,或者在请求标头中正确设置了格式,则使用调用的普通groovy模板返回结果 app/views/Application/sum.xml

要设置正确格式化的路径,请将以下行添加到route文件中

GET /webservices/sum                 Application.sum(format:'xml')
Run Code Online (Sandbox Code Playgroud)

sum.xml看起来就像是

<response>
  <sum>${result}</sum>
</response>
Run Code Online (Sandbox Code Playgroud)

相同的概念适用于JSON.

但是,如果你不想使用groovy模板,你可以使用renderJSON/ renderXMLmethods 创建XML或JSON ,但这确实意味着你正在构建控制器中的表示逻辑,这是不好的做法.

作为子注释,如果要使用webservices,则使用play.libs.WS类.我写了一篇关于如何做到这一点的博客

http://playframework.wordpress.com/2010/08/15/web-services-using-play/