springboot api requestparam 范型参数
时间: 2023-11-26 07:04:05 浏览: 39
在 Spring Boot 中,使用 @RequestParam 注解可以获取 HTTP 请求中的参数值。如果参数是一个基本类型或者 String 类型,可以直接写在 @RequestParam 注解中。例如:
```java
@GetMapping("/example")
public void example(@RequestParam String name, @RequestParam int age) {
// TODO: 处理请求参数
}
```
但是如果参数是一个复杂类型,例如一个泛型参数,需要使用 TypeReference 类来解析参数类型。例如:
```java
@GetMapping("/example")
public void example(@RequestParam String name, @RequestParam("data") String jsonData) {
ObjectMapper mapper = new ObjectMapper();
try {
List<MyObject> data = mapper.readValue(jsonData, new TypeReference<List<MyObject>>(){});
// TODO: 处理请求参数
} catch (IOException e) {
e.printStackTrace();
}
}
```
在上面的例子中,我们使用了 Jackson 库来将 JSON 格式的字符串转换成 List<MyObject> 类型的对象。由于 TypeReference 是一个抽象类,我们需要通过匿名内部类的方式来创建它的实例。