public class MyController {
Map<Integer,Param> paramMap = new HashMap<>();
@RequestMapping("/getUser/{param}")
public User getUser(@PathVariable Param param){
return service.doSomething(param);
}
class Param{
int paramId;
String ortherField1;
String ortherField2;
}
}
假如{param}是int,怎么样才能在@PathVariable 处理这步可以直接让传过来的int参数通过从paramMap里拿转为Param类,是什么原理,有什么博客可以推荐一下吗?
获取思路如下
@RequestMapping("/getUser/{paramId}")
public User getUser(@PathVariable Integer paramId){
Param param = paramMap.get(paramId)
return service.doSomething(param);
}
关键是paramMap怎么设置值
使用@PathVariable注解时,如果传入的{param}是整型,可以通过在参数前加上@PathVariable注解,并将参数类型设置为Integer来实现转换为Param类的参数。具体的转换原理是Spring MVC框架会使用Java的类型转换器来自动将字符串类型的参数转换为对应的整型。
相关的博客或资料推荐: 1. Spring MVC学习笔记——@PathVariable注解 2. SpringMvc之@PathVariable注解详解