2016-04-24 12 views
3

Grails 3.1.5アプリは* .gson形式を使用してJSONデータを提供したいと思っていましたが、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プロファイルは、特定の場所の* .gsonファイルを検索するようにviewResolverを構成する可能性があります。

* .gsonと* .gspsの両方のビューを探すCompositeViewResolverを設定することはありますか?

もしそうなら、どうすればいいですか?

ありがとうございます!

+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サービスでHTMLをほとんど表示しないため、オーバーヘッドを減らすためにRESTプロファイルを使用しています。 de。

+1

GRAILS 3.3以降では、__org.grailsの代わりにbuild.gradleファイルにorg.grails.plugins:gsp:3.3.0.RC1 "'をコンパイルする必要があります:grails- plugin-gsp__依存関係にあります。これは、[Official GRAILS documentation](https://gsp.grails.org/latest/guide/index.html#tagsAsMethodCalls)に記載されています。 –

関連する問題