导读 在Spring框架中,`@PathVariable`注解常用于接收URL中的动态参数,但有时大家可能会遇到一个“小陷阱”——当URL路径包含`.`(点号)时,参...
在Spring框架中,`@PathVariable`注解常用于接收URL中的动态参数,但有时大家可能会遇到一个“小陷阱”——当URL路径包含`.`(点号)时,参数会被截取。例如:`/user/info.123`,`123`可能被误认为是另一个路径片段。
为什么会出现这种情况呢?这是因为Spring默认将`.`视为路径分隔符。那么,如何优雅地解决这个问题呢?其实很简单,只需在`@RequestMapping`或`@GetMapping`等注解上添加`consumes = MediaType.APPLICATION_JSON_VALUE`或者直接通过正则表达式限定参数格式即可。
示例代码如下:
```java
@GetMapping(value = "/user/info.{format}")
public String getUserInfo(@PathVariable("format") String format) {
return "Format: " + format;
}
```
这样设置后,无论路径后缀为何种格式,都能完整捕获参数值!
记住,编程路上总会遇到各种“小坑”,但只要掌握了正确的方法,一切都能迎刃而解!💪✨