2017-03-24 20 views
0

私は、ページ範囲(開始&終了ページ番号)を受け入れるスプリングリラティブエンドポイントで作業しています。私は私の要求params-pageStartとpageEndが整数だけを受け入れることを望んでいます。私は渡すと「pageStart =」郵便配達を通じて、私はエラーの下に取得する:整数のみを受け入れるためのSpringリクエストパラメータ

@RequestMapping(value = "/{accNumber}/abc/xyz", method = RequestMethod.GET) 
    @Loggable 
    @ResponseBody 
    public RestResponse<Class1> getData(
     @Loggable @PathVariable(value = "accNumber") String accNumber, 
     @RequestParam(value = "pageStart", required = false, defaultValue = "0") Integer pageStart, 
     @RequestParam(value = "pageEnd", required = false, defaultValue = "10") Integer pageEnd, 
     HttpServletResponse response) throws Exception { 

    Class1 class1 = new Class1(); 
    class1 = retrieveData(accNumber, pageStart, pageEnd); 
    RestResponse<Class1> restResponse = new RestResponse<Class1>(
      class1); 

    return restResponse; 
    } 

要求されていない有効な[型の値はjava.lang.Integer必要なタイプに「はjava.lang.String型を」「に変換できませんでした。 ';ネストされた例外はjava.lang.NumberFormatExceptionです:入力文字列:\ "a \"]

この例外を処理し、整数だけを渡す必要があることをユーザーに知らせますか?

+1

あなたのコードを最初に共有してから、私たちは提案を与えることができます:) –

+0

が追加されました! @ TharsanSivakumar – Anonymous

答えて

0

次の2つの方法

1)

はコントローラ

@ExceptionHandler({Exception.class}) 
    public ModelAndView handleException(Exception ex) { 
     ModelAndView model = new ModelAndView("Exception"); 

     model.addObject("exception", ex.getMessage()); 

     return model; 
    } 

http://www.codejava.net/frameworks/spring/how-to-handle-exceptions-in-spring-mvc

2)使用Stringパラメータ

のメソッドを持っている例外ハンドラメソッドを使用してそれを処理することができます

すべての@ PathVariableと@RequestParameterパラメータは、ハンドラメソッド内で解析を行います。

+0

問題は解決しましたか? –

+0

ありがとう、@ TharsanSivakumar最初のオプションは、この問題を解決するのに役立ちます。しかし、2番目のオプションを考えれば、私の要求パラメータをStringに設定すれば、それはただ何かにアクセスするでしょう。私はエンドポイントにページ範囲のまま整数だけを受け入れるようにしたい。これについてどうすればいいですか? – Anonymous

+0

はその後、第一オプションで行くと、あなたは郵便配達で提供されたリンク –

関連する問題