使用SpringMVC参数注解@PathVariable时出错提

2018-08-02  本文已影响0人  我想起个好名字

@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;可设置传入多个参数作为地址:

上一篇下一篇

猜你喜欢

热点阅读