前端传递对象参数,java后端使用泛型接收后怎么处理成想要的对象
时间: 2024-02-24 21:58:43 浏览: 97
前端传递对象参数时,通常是将对象转换为 JSON 格式的字符串并通过 HTTP 请求发送到后端,后端可以使用 Java 的泛型来接收该对象,例如:
```java
public class Result<T> {
private int code;
private String message;
private T data;
// getters and setters omitted for brevity
}
```
在上面的示例中,我们定义了一个 `Result` 类,其中 `T` 是一个泛型参数,表示该类可以接受任何类型的数据。当后端接收到前端传递的 JSON 字符串时,我们可以使用 Jackson 库将其转换为指定类型的对象,例如:
```java
@PostMapping("/api/example")
public Result<String> example(@RequestBody String data) {
ObjectMapper mapper = new ObjectMapper();
Result<String> result = new Result<>();
try {
// 将 JSON 字符串转换为 Result<String> 对象
result = mapper.readValue(data, new TypeReference<Result<String>>(){});
} catch (IOException e) {
result.setCode(500);
result.setMessage("Internal Server Error");
}
// 处理接收到的数据
String data = result.getData();
// ...
return result;
}
```
在上面的示例中,我们使用 `ObjectMapper` 类将接收到的 JSON 字符串转换为 `Result<String>` 对象,并从中获取到 `data` 字段的值进行处理。
阅读全文