Spring Web MVCを使用して簡単な残りのAPIを構築しています。私たちのハンドラの1つは、要求パラメータとしてIDと呼ばれるintをとります。Spring-MVC Rest APIハンドラのカスタム引数変換
@RequestMapping(value="/requestEntity",
method=RequestMethod.GET)
public ModelMap getEntity(
@PathVariable(value="id")final Integer id,
HttpServletResponse response) throws IOException {
は、私がリクエストオブジェクトを文字列としてリクエストパラメータの値を持っていることを知っている(NAME1 = VALUE1 & NAME2 = 22)と、そのパラメータとしてIDを持っている場合、ハンドラは魔法のintを受けること。我々は、入力として値「1 2 3」を送信した場合、我々は送信した場合
"/requestEntity", id="5" -> getEntity(5);
は残念ながら、我々は、引数として番号123を取得する「5; 123」我々は、引数として5を取得します。
"/requestEntity", id="1 2 3" -> getEntity(123); // WRONG -- we want to throw an error
"/requestEntity", id="5;123" -> getEntity(5); // ALSO WRONG
私が知る限り、Springは文字列パラメータ値をハンドラが必要とするint引数に変換するための変換を行っています。独自の引数コンバータを実装するにはどうすればよいですか?