2014-10-30 15 views
1

我試圖用grails構建一個restful api。現在對於資源上市我有一個奇怪的反應:Grails列表Restful Resources返回意外的結果

{ 
    "empty": false, 
    "totalCount": 229 
} 

但是,如果我試圖表現出特定的資源即/資源/ 1我得到了預期的響應。這有什麼問題?

+0

您將在問題中添加更多信息並顯示資源控制器的外觀。 – dmahapatro 2014-10-31 01:34:57

+0

控制器只是一個沒有任何修改的RestfulController。 – 2014-10-31 04:58:58

+0

我最近從grails 2.4升級到2.4.4。我不知道這是否與我的問題有關 – 2014-10-31 11:08:12

回答

1

似乎確實問題的根源與Grails的版本有關。我不知道在此期間是否找到了解決方案,但是我偶然發現了這個問題,並發現了此錯誤報告:https://jira.grails.org/browse/GRAILS-11892

解決方法包括將toArray()附加到所有對象列表。如果您正在使用RestfulControllerindex方法爲例(假設您想返回對象的列表)可能是:

class BookController extends RestfulController { 
    static responseFormats = ['json', 'xml'] 
    BookController() { 
     super(Book) 
    } 

    @Override 
    def index(Integer max) { 
     params.max = Math.min(max ?: 10, 100) 
     respond listAllResources(params).toArray(), formats: ['json', 'xml'] 
    } 
} 

這會給你預期的結果,而不是ou7tput你在你的問題舉。