Spring-MVC PathVariable匹配正则表达式,不以word开头

时间:2017-06-22 19:20:00

标签: java spring spring-mvc request-mapping

我希望将所有请求与一个不以'api'开头的PathVariable匹配。我在RequestMapping之后测试。 spring可以匹配请求,但无法获得PathVariable的值。我怎么解决这个问题?

@RequestMapping(value = "/{name:(?!api).+}", method = RequestMethod.GET)
public void getNotApi(@PathVariable String name, HttpServletResponse response) {
    ...
}

我收到了一些请求,例如localhost:8080/resource

Error 500 Missing URI template variable 'name' for method parameter of type String

2 个答案:

答案 0 :(得分:5)

$uname=mysqli_real_escape_string($conn,$_SESSION["username"]);
$query1="SELECT user_id FROM users WHERE username='$uname'";

$results=$conn->query($query1);
if($results->num_rows>0){
    while($row=$results->fetch_assoc()){
        $uid=mysqli_real_escape_string($row["user_id"]);
    }
}

答案 1 :(得分:-1)

如果您使用Java pre 8版本,可能是因为缺少名称。试试@PathVariable("name") String name。保持@PathVariable值与映射参数名称相同。