如何使用 play 开发 webservice?
我在官方网站上找不到任何文件。
真的很简单。
Play 附带了许多方法,您可以使用这些方法将您的操作公开为 Web 服务。
例如
render()
renderJSON()
renderXML()
这些都可以用于以特定方式呈现数据。
如果您有一个 Web 服务,让我们假设一个 RESTful Web 服务,您想要返回两个数字的总和,您可以通过以下方式执行此操作
public class Application extends Controller {
public static void sum(Float num1, Float num2) {
Float result = num1 * num2;
render(result);
}
}
如果您的路由设置为使用 XML 作为格式,或者格式在请求标头中设置正确,则您可以使用名为的普通 groovy 模板返回结果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,但这确实意味着您正在将表示逻辑构建到控制器中,这是一种不好的做法。
作为附注,如果您想使用 web 服务,那么您可以使用 play.libs.WS 类。我写了一篇关于如何做到这一点的博客
http://playframework.wordpress.com/2010/08/15/web-services-using-play/