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

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

怪我咯
怪我咯

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

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

你的问题是“现状是,传入参数不是数字是就会返回400 Bad Request而你不知道为什么?”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

还是,“你希望让传入参数不是数字时,自动返回400 Bad Request”🎜 🎜补充:🎜 🎜那是不是可以这样改改,如果你用的是spring4的话:🎜 rrreee
🎜好久没写了,应该ok吧🎜
🎜补充:🎜 🎜好像显示指定@Valid之类的注解的,你得仔细查查spring的文档,我实在不确定annotation是不是我写的这个@RequestParam(取决于你的参数是从url里还是其他什么地方来)🎜
伊谢尔伦

那么纠结的话你就直接接收Object id 然后第一行代码判断id instanceof Long 开个玩笑。。
如果传进来的不是数字的话,应该是不会走到你的方法上的吧。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!