任意のクエリ パラメータを受け取るレスト コールがあります。これらをキャプチャするために、@RequestParam Map queryParams を使用しています。
マップ内の各エントリを異なるタイプにバインドする必要があります。たとえば、一部は日付、一部は倍精度、一部は文字列などです...
これどうやってするの?
コード例は役に立ちます。
GM
任意のクエリ パラメータを受け取るレスト コールがあります。これらをキャプチャするために、@RequestParam Map queryParams を使用しています。
マップ内の各エントリを異なるタイプにバインドする必要があります。たとえば、一部は日付、一部は倍精度、一部は文字列などです...
これどうやってするの?
コード例は役に立ちます。
GM
最終的にマップにマップする必要がありますか? 補助オブジェクトを作成し、すべての requestemParams を次のようにマップできます。
CustomObjectDTO
public class CustomObjectDTO{
private String prop1;
private Date prop2;
private int prop3;
//Getters and setters
// propably also the default constructor is needed
}
そしてあなたの例のコントローラー:
public @ResponseBody void doSomething(CustomObjectDTO customObjectDTO){
// do something with the object
}
あなたはそれを好きにすることができます:
@RequestMapping(value= "/xxx")
public @ResponseBody void reqParamSample(ModelMap model,
HttpServletRequest request,
@RequestParam(value="id") int id,
@RequestParam(value="name") String name){
// do sth
}
リクエスト パラメータは、パラメータ名に基づいて型にキャストされます。