@RequsetBody传参把Map<Integer, Object>其中Object是实体类对象,被转换成了linkH.。怎么解决
时间: 2024-03-17 19:40:08 浏览: 56
这个问题可能是因为在使用`@RequestBody`注解时,SpringMVC默认使用的是Jackson库来进行反序列化操作。而Jackson库在反序列化Map时,会将键值对转换为LinkedHashMap类型。因此,可以尝试以下几种方法来解决这个问题:
1. 使用@JsonDeserialize注解来自定义Map反序列化方式,例如:
```java
@JsonDeserialize(keyAs = Integer.class, contentAs = YourEntityClass.class)
private Map<Integer, Object> yourMap;
```
2. 将Object类型改为具体的实体类类型,例如:
```java
private Map<Integer, YourEntityClass> yourMap;
```
3. 可以尝试使用@RequestParam注解来接收前端传递的参数,例如:
```java
@PostMapping("/yourPath")
public void yourMethod(@RequestParam Map<Integer, YourEntityClass> yourMap) {
// your code here
}
```
希望这些方法能够帮助你解决这个问题。
阅读全文