spring boot requestMapping @RequestMapping(value = "/{userId:\\d+}", method = RequestMethod.DELETE)
spring boot requestMapping @RequestMapping(value = "/{userId:\\d+}", method = RequestMethod.DELETE)
@RequestMapping(value = "/{userId:\d+}", method = RequestMethod.DELETE)
public void delete(@PathVariable Long userId) {
try{
this.authorService.delete(userId);
}catch(Exception e){
throw new RuntimeException("delete error");
}
}
任何人都知道我应该为这个定义“/{userId:\d+}”匹配什么url,你能给我一个例子吗,比如“/userid=1”,这样对吗?
我猜这个定义像这样 "/{userId:\d+}" ,在 url 中使用正则表达式来确保它传递一个数字 parameter.I 我不确定,如果有人知道的麻烦给个link学习学习,谢谢!
不,该表达式映射 /1
例如,所有数字。
The syntax {varName:regex} declares a URI variable with a regular expressions with the syntax {varName:regex} — e.g. given URL "/spring-web-3.0.5 .jar", the below method extracts the name, version, and file extension:
@GetMapping("/{name:[a-z-]+}-{version:\d\.\d\.\d}{ext:\.[a-z]+}")
public void handle(@PathVariable String version, @PathVariable String ext) {
// ...
}
查看完整文档here
它将匹配任何数字。例如,
/1
、/11
、/123
。
/{userId:\d+}
===> 将/
后的一位或多位数字映射到变量userId。
一个或多个数字的正则表达式是 \d+
,但由于您将其用作字符串,因此需要使用另一个 \
.
对其进行转义
@RequestMapping(value = "/{userId:\d+}", method = RequestMethod.DELETE)
public void delete(@PathVariable Long userId) {
try{
this.authorService.delete(userId);
}catch(Exception e){
throw new RuntimeException("delete error");
}
}
任何人都知道我应该为这个定义“/{userId:\d+}”匹配什么url,你能给我一个例子吗,比如“/userid=1”,这样对吗?
我猜这个定义像这样 "/{userId:\d+}" ,在 url 中使用正则表达式来确保它传递一个数字 parameter.I 我不确定,如果有人知道的麻烦给个link学习学习,谢谢!
不,该表达式映射 /1
例如,所有数字。
The syntax {varName:regex} declares a URI variable with a regular expressions with the syntax {varName:regex} — e.g. given URL "/spring-web-3.0.5 .jar", the below method extracts the name, version, and file extension:
@GetMapping("/{name:[a-z-]+}-{version:\d\.\d\.\d}{ext:\.[a-z]+}")
public void handle(@PathVariable String version, @PathVariable String ext) {
// ...
}
查看完整文档here
它将匹配任何数字。例如,
/1
、/11
、/123
。
/{userId:\d+}
===> 将/
后的一位或多位数字映射到变量userId。
一个或多个数字的正则表达式是 \d+
,但由于您将其用作字符串,因此需要使用另一个 \
.