2013-04-08 42 views
0

这个想法是从一个网站(在PHP中)调用我的应用程序(在Grails中)的方法。该应用程序将以json格式提供数据。如何在Grails中创建休息Web服务?

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

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

市级

class City { 
     String name 
     String code 
    } 

如何编写Web服务的方法?

+6

关于grails中webservices的每一件事情,请参阅以下文档:http://grails.org/doc/latest/guide/webServices.html – 2013-04-08 09:10:38

回答

0

你将要使用一些工具,你首先会创建一个控制器与请求交易,并推动了他们对你的服务层。

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

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

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

我发现,我的大部分时间要支持accept头,以及在这种情况下,你将需要更新下面的代码你的配置。有关更多信息,请参见withFormat doc

grails.mime.use.accept.header = true 
1

尝试的Grails JAXRS插件(https://github.com/krasserm/grails-jaxrs),这将excactly你想要什么,没有任何麻烦。

只需安装它,使用引入的create-resource命令创建一个Resource对象,并根据需要创建并注释这些方法。所有其他东西都由插件管理,因此您不必担心ControllerUrlMapping ...

1

您只需在您的域上注释@Resource(uri ='/ cities')并调用url/cities.json(但是,它的REST风格)