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

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

怪我咯
怪我咯

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

Antworte allen(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 开个玩笑。。
如果传进来的不是数字的话,应该是不会走到你的方法上的吧。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!