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

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

怪我咯
怪我咯

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

répondre à tous(2)
左手右手慢动作

Votre question est "La situation actuelle est que si le paramètre entrant n'est pas un nombre, il retournera 400 Bad Request et vous ne savez pas pourquoi

 »

Ou : "Vous souhaitez renvoyer automatiquement 400 Bad Request lorsque le paramètre entrant n'est pas un nombre"

Supplément :

Pouvez-vous le changer comme ceci ? Si vous utilisez spring4 :

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

Ça fait un moment que je n'ai pas écrit, ça devrait aller

Supplément :

semble afficher des commentaires tels que spécifier @Valid Vous devez vérifier attentivement la documentation de spring Je ne suis vraiment pas sûr que annotation soit celle écrite par moi @RequestParam (cela dépend d'où vous êtes. les paramètres proviennent de. Dans l'url ou ailleurs)

伊谢尔伦

Si vous êtes si confus, acceptez simplement Object id puis jugez la première ligne de code id instanceof Long Je plaisante. .
Si ce qui est transmis n'est pas un nombre, cela ne devrait pas aller dans votre méthode.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal