使用SpringMVC参数注解@PathVariable时出错提
@RequestMapping(value ="/findUserByEmployeeNumber/{EmployeeNumber}",method = RequestMethod.GET) public ResponseEntity findByNumber(@PathVariable @Valid String employeeNumber){...}
如果@RequestMapping中表示为”item/{id}”,id和形参名称一致,@PathVariable不用指定名称。如果不一致,例如”item/{ItemId}”则需要指定名称@PathVariable(“itemId”)。
因此原代码中的参数
@RequestMapping(value = "/findUserByEmployeeNumber/{EmployeeNumber}中{EmployeeNumber}变量名需要和@PathVariable @Valid String employeeNumber中一样
方法一:参数和url一致
@RequestMapping(value = "/findUserByEmployeeNumber/{employeeNumber}",method = RequestMethod.GET)
public ResponseEntity findByNumber(@PathVariable @Valid String employeeNumber){
... }
方法二:添加别名
@RequestMapping(value ="/findUserByEmployeeNumber/{employeeNumber}",method = RequestMethod.GET) public ResponseEntity findByNumber(@PathVariable("employeeNumber") @Valid String Number){...}
PathVariable 基本原理:
通过 @PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中:URL 中的 {xxx} 占位符可以通过
@PathVariable("xxx") 绑定到操作方法的入参中。
备注:当使用多个@PathVariable;可设置传入多个参数作为地址: