0

国際化されたメッセージを含むスプリング ブート 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 を設定するにはどうすればよいですか?

4

1 に答える 1

1

さて、Spring Boot の最新バージョンである 1.3.1.RELEASE にアップグレードすることで、これを修正しました。

同様の質問に対する@nerdherdの回答で指摘されているように、これはバグでした

于 2016-01-04T15:35:24.883 に答える