私はSpringブートアプリケーションを開発しました。このアプリケーションは、テスト環境またはプロダクト環境にデプロイすることができ、アプリケーションはリクエストを作成するためにREST APIを使用しています。私はPOJOをラッパーとして使用し、プッシュされるAPIのフィールドIDを含むJsonPropertyアノテーションを使用します。Dynamic JsonProperty(SpringブートでJacksonを使用)
は
@JsonProperty("field_001)
private String name;
@JsonProperty("field_002)
private String address;
すなわち、これらの値のフィールドラベルは、テストエンドポイントで異なります。だから、テストのエンドポイントは性質が
@JsonProperty("field_005)
private String name;
@JsonProperty("field_006)
private String address;
としてマッピングするために期待するかもしれない私は、プロファイルベースのプロパティファイルのための春ブーツネイティブサポートを利用できるようにしたいと思います。実行時に外部プロパティファイルからJsonProperty注釈値を読み込む。
したがって、たとえば、
3つのファイルapplication.properties、application-test.propertiesとapplication-prod.propertiesがあるかもしれません。 Springブートは、 "spring.profiles.active"設定に基づいて、バニラプロパティファイルに加えて、テストまたはプロードプロパティを読み取ることができます。
...- test.propertiesには、テストサーバーフィールドの定数値が含まれます。そして...- prod.propertiesには、prodサーバーのフィールドの定数値が入ります。このような春の@valueタグとして
ネスト注釈:
@JsonProperty
が値として文字列を使用しますが、@Value
:
@JsonProperty(@Value("${property.file.reference.here}))
doesn't seem to work.
敬具
引用符は何も閉じられていないのですか? – slim