java - Spring mvc 参数类型如何验证?
怪我咯
怪我咯 2017-04-18 09:15:05
0
2
546
@RequestMapping("/test")
@ResponseBody
public String test(Long id){
    return id + "";
}

当请求传入参数不是数字的时候会返回400 Bad Request如何校验传入的这个参数?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回覆(2)
左手右手慢动作

你的問題是「現狀是,傳入參數不是數字是就會回傳400 Bad Request而你不知道為什麼?」

還是,「當你希望讓傳入參數不是數字時,自動回傳400 Bad Request

補充:

那是不是可以這樣改改,如果你用的是spring4的話:

@RequestMapping("/test")
@ResponseBody
public String test(@RequestParam("id") Long id, BindingResult result){
    if (result.hasErrors()) {
        return "返回你想返回的";
    }
    return id + "";
}

好久沒寫了,應該ok吧

補充:

好像顯示指定@Valid之类的注解的,你得仔细查查spring的文档,我实在不确定annotation是不是我写的这个@RequestParam(取決於你的參數是從url還是其他什麼地方來)

伊谢尔伦

那麼糾結的話你就直接接收Object id 然后第一行代码判断id instanceof Long 開個玩笑。 。
如果傳進來的不是數字的話,應該是不會走到你的方法上的吧。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板