2016-04-24 71 views
3

我希望我的Grails 3.1.5應用程序能夠使用* .gson格式和兩個JSON數據,對於某些頁面/ URL,我希望繼續使用GSP 。需要同時爲Grails 3.1.5應用程序提供GSP和JSON

我使用rest-api配置文件構建了一個應用程序。 然後我從控制器和視圖中複製了我使用web-api構建的其他應用程序。

爲此,爲了保持一致,我還將index.gson移到了不同​​的位置。

現在,我得到一個:

Could not resolve view with name 'index' in servlet with name 'grailsDispatcherServlet' 

開始挖成是在3.1.5代碼庫提供的viewResolvers。 rest-api配置文件可能配置viewResolver以在特定位置查找* .gson文件。

是否有無論如何配置可能是一個CompositeViewResolver尋找兩個視圖,* .gson和* .gsps?

如果是這樣,我該怎麼做?

謝謝!

+0

從rest-api配置文件構建時,該配置文件定義的一部分是取消了大部分UI支持--API通常不會呈現UI,因此配置文件會放棄支持以減小文件大小。如果您從一個普通的Web應用程序開始,可能會少一些工作,併爲API部分引入JSON響應/ .gson格式支持。 – railsdog

回答

2

我已經設法解決這個問題通過添加這個插件的build.gradle:

compile 'org.grails:grails-plugin-gsp' 

以及帶

profile 'org.grails.profiles:web' 
profile 'org.grails.profiles:rest-api' 

和應用插件

apply plugin: 'org.grails.grails-web' 
apply plugin: 'org.grails.grails-gsp' 
apply plugin: 'org.grails.plugins.views-json' 

顯然,他們會在您使用REST配置文件時將其刪除,以減少開銷,因爲您很少在REST服務si上呈現HTML德。

+1

謝謝,非常有用,但由於GRAILS 3.3還不夠,您還需要在您的build.gradle文件中編譯org.grails.plugins:gsp:3.3.0.RC1而不是__org.grails:grails- plugin-gsp__依賴項,如[官方GRAILS文檔](https://gsp.grails.org/latest/guide/index.html#tagsAsMethodCalls)所述。 –

相關問題