検索を実行するために、GET リクエストを処理する Spring MVC コントローラーがあります。
これらのリクエストには、クエリ文字列で渡すことができる多くのオプション パラメータがあります。
例えば:
@Data
public class SimpleSearchRequest implements SearchRequest {
private String term;
private List<Status> stati;
@JsonDeserialize(using=DateRangeDeserializer.class)
private Range<DateTime> dateRange;
}
これに POST または PUT を使用していた場合、@RequestBody
. ただし、GETを使用しているため、これは収まりません。
代わりに、メソッド シグネチャで可能なすべてのパラメータを としてリストする必要があるようです@RequestParam(required=false)
。
見苦しいメソッド シグネチャにつながるだけでなく、ここでクラスを使用しないことで、あらゆる種類の OO の利点を失っています。
使用しようとすると@RequestBody
失敗します (当然のことですが)。こことここで説明したように、GET で実際の要求本文を使用することは望ましくありません。
@RequestParam
GET リクエストで複数の を強く型付けされたオブジェクトにマーシャリングすることを Spring MVC にサポートさせる方法はありますか?