如何在Grails中创建休息Web服务?

时间:2013-04-08 08:53:28

标签: web-services rest grails

这个想法是从一个网站(在php中)调用一个方法到我的应用程序(在Grails中)。该应用程序将以json格式提供数据。

网站和应用程序托管在两个不同的服务器上。该网站位于雅虎,该应用程序位于Rackspace。

现在,我想在我的Grails应用程序中创建一个Web服务,它以json格式提供城市列表。

城市类

   class City {
      String name
      String code
   }

如何编写Web服务方法?

3 个答案:

答案 0 :(得分:1)

尝试使用grails jaxrs插件(https://github.com/krasserm/grails-jaxrs),它可以毫无困难地执行您想要的操作。

只需安装它,使用引入的Resource命令创建一个create-resource对象,然后根据需要创建和注释方法。所有其他内容均由插件管理,因此您无需担心ControllerUrlMapping ...

答案 1 :(得分:1)

您的域名只需要注释@Resource(uri =' / cities')并调用url / cities.json(但是,它的' n RESTful)

答案 2 :(得分:0)

您将需要使用一些工具,首先您将创建一个处理请求的控制器,并将它们推送到您的服务层。

您可以使用URL映射使其更加RESTFul以doc检查所有http方法将映射到控制器中的操作。

另外如果你要做一些json,我会建议从gson plugin开始,它有一个更全面的功能集,然后是内置的JSON支持。

上述评论中的链接也是一个很好的阅读资源。

我发现我大部分时间都想支持接受标头,在这种情况下,您需要使用以下代码更新配置。有关详细信息,请参阅withFormat doc

grails.mime.use.accept.header = true