2013-04-08 75 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風格)