@CrossOrigin
Annotationの起点を環境変数で指定することはできますか?私はuat/staging/productionに同じコードベースを使用できるようにこれを実行したいと思います。私はテストのためにlocalhost経由で私のuat/staging環境にアクセスできるようにしたいが、私の実動環境では特定のエンドポイントからの要求しか受け付けないようにする。@CrossOrigin orginsを環境変数で指定する
たとえば、これは新しいAPIのクロス・ソース注釈ユーザーです。
@CrossOrigin(origins = {"http://localhost:9000", "http://example.com"})
これは問題なく動作します。私のローカルマシンでテストすると、ポート9000上で動作するWebサーバーだけが自分のAPIにアクセスできます。私はその後、私は、あまりにも
@CrossOrigin(origins = "#{'${allowed.origins}'.split(',')}")
そして今、要求がCORSのためにブロックされている注釈を変更し、私のローカルのWindowsマシン
ALLOWED_ORIGINS = http://localhost:9000,http://example.com
に私の環境変数を設定してみました。
フォローアップの質問として、ワイルドカードとしてポートを設定できますか?どのようなlocalhostウェブサーバーでもAPIにアクセスできるようにするには?
UPDATE
だから私は経由して私の質問の最初の部分を達成することができました - https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#filter-based-cors-support
、私の人生のためしかしallowedOrigins()
@Value("#{'${allowed.origins}'.split(',')}")
private List<String> allowedOrigins;
用のenv変数を設定します私はワイルドカード/パターンマッチングのどのような形式も働かないようです。私は以下の両方を環境変数として試しました。
http://localhost:*
http:\/\/localhost:[0-9]+
私はこれを別個の質問として提起しなければならないかもしれません。
xmlベースの設定は使用しません。また、すべてのlocalhostポートを許可するパターンマッチングが必要なので、正しく理解している場合はCORSフィルタを使用する必要があります。 – Jags
Javaベースの設定を使用していますか? – Paras
はい私はあります。 - https://spring.io/blog/2015/06/08/cors-support-in-spring-framework#filter-based-cors-supportどのように私はそれを働かせています。 – Jags