私は以下のように春のアプリケーションを設定しました:
// Spring MVC controller
@Controller
HelloController {
@ResponseBody
Student getData() {
return student from database;
}
}
public Class Student {
@Trim(device = "mob", trim=10)
@Trim(device = "desktop", trim=100)
String name ;
Address address;
}
public class Address {
@Trim(device = "mob", trim=10 )
@Trim(device = "desktop", trim=100 )
String addressInfo
}
要件:
が生徒を返した後、Controller
に基づいて、生徒オブジェクトとその内部のすべての複雑な属性を変更します。Annotation
たとえば、要求がモバイルからのものである場合は、生徒の名前を 10 にトリム します。
私が考えることができるアプローチ:
注釈付きのフィールドを再帰的に反復し、フィールドを変更します。クラスは複雑で、最大 n レベルまでネストできるため、毎回のクラス フィールドの反復は多忙を極める可能性があります。
サーバーの起動時に注釈付きフィールドのリストを作成し、その後、このリストを繰り返して、変更をターゲット オブジェクトに適用します。
私は現在、両方のアプローチに苦労しています。したがって、そのようなシナリオを処理するための事前構築済みのソリューションまたは設計パターンが存在するかどうかを知りたいです。