/**
 *
 * 限制路径变量里面的值只能是数字
 * http://localhost:8080/test/getUser/1
 * http://localhost:8080/test/getUser/a
 */
@RequestMapping("/getUser/{id:\\d+}")
public User getUser(@PathVariable(name = "id") String userId) {
  User user = new User();
  user.setUsername(userId);
  user.setPassword(userId);
  return user;
}
public class User {
  private String username;

 

/** * http://localhost:8080/test/getUser02/1 
* http://localhost:8080/test/getUser02/a */@RequestMapping("/getUser02/{id}")
public User getUser02(@PathVariable(name = "id")
 Integer userId) 
{  
 User user = new User(); 
 user.setUsername(String.valueOf(userId));  user.setPassword(String.valueOf(userId));  
return user;}

 

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Sep 22 10:57:52 CST 2019

There was an unexpected error (type=Bad Request, status=400).

Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "a"

总结