2017-07-28 63 views
0

我使用的是REST API和GSON意見Grails的3.3.0。我有以下設置...GSON查看無法解決域類

域類

package foo 

@Resource(uri="/api/bars", readOnly = false, formats = ['json', 'xml']) 
class Bar{ 
    String firstName 
    String lastName 
} 

控制器:

package foo 

class BarController extends RestfulController<Building>{ 

    def show(){ 
     respond Bar.get(params.id) 
    } 
} 

_bar.gson:

import foo.Bar; 

model { 
    Bar bar 
} 

json { 
    name bar.firstName 
} 

_show.gson:

import foo.Bar; 

model { 
    Bar bar 
} 

json g.render(template:"bar", model:[bar:bar]) 

目錄佈局:

/grails-app/views/ 
-----------------bar/ 
--------------------_bar.gson 
--------------------_show.gson 

這期間buildtestcompilewar有以下錯誤失敗:

Execution failed for task ':compileGsonViews'. 
foo_bar_show_gson: 3: unable to resolve class foo.Bar 

我跟着文檔bu我無法解決這個問題。請幫忙!

+0

您必須創建一個示例項目。如果該類位於'grails-app/domain'中,則該類肯定應該放在視圖編譯的類路徑中。 –

+0

上述示例適用於'web'配置文件而不是'rest'配置文件。 –

回答

0

在瀏覽github問題之後,這似乎是由rest配置文件引起的,並在Windows機器上運行。如果我使用web配置文件開始一個新項目,一切正常。

+0

我正面臨同樣的問題。我試圖用gradle build來運行應用程序,並在gsonViewCompile中構建。我用grails run-app運行它,它沒有任何錯誤地運行。因此,這指出這是一個事實,它是一個gradle版本的問題,因爲編譯使用gradle clean build失敗,但對./gradlew clean build(與項目一起提供的gradle wrapper) –