国際化されたメッセージを含むスプリング ブート Thymeleaf Web アプリケーションがあります。デフォルトの翻訳は私のmessages.properties
ファイルにあります。
application.yml
次のMessageSourceAutoConfiguration
メッセージに転送します。
spring:
messages:
basename: locale/messages
アプリを実行すると、ブレークポイントがMessageSourceAutoConfiguration.setBasename()
引数locale/messages
でヒットし、すべてが美しく機能します。
ここで、Zuul を使用して、このアプリケーションをリバース プロキシとして使用し、ブラウザーから REST アプリケーションに要求を渡すように設定します。
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@SpringBootApplication
@EnableZuulProxy
public class ThymeleafApplication extends SpringBootServletInitializer {
...
}
だから私は私のにいくつかの設定を追加しますapplication.yml
:
zuul:
routes:
rest-api:
path: /rest-api/**
url: https://localhost:443/my-rest-api
と私のようにbuild.gradle
見えます:
dependencies {
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
compile 'org.springframework.cloud:spring-cloud-starter-zuul:1.0.4.RELEASE'
}
リバース プロキシは正常に機能するようになりましたが、国際化は壊れています。メッセージは「??page1.message1_en_GB??」として表示されます。のブレークポイントMessageSourceAutoConfiguration.setBasename()
はトリガーされなくなりました。
i18n が機能するように Zuul を設定するにはどうすればよいですか?