java.lang.ClassCastException:java.util.LinkedHashMap无法强制转换为com.example.backendtest.Project

时间:2018-04-29 10:25:00

标签: java spring

我正在使用带有spring boot的http post请求angular4,我需要从angular到后端发送不同的对象,这就是为什么我使用type对象然后尝试将此对象强制转换为我的java类(In我的示例项目和用户)但我收到此异常。 这是我的http post方法:

@PostMapping("/project")
public void addProject(@RequestBody HashMap<String, Object> map) {
    Project project1 = (Project) map.get("project");
    System.out.println(project1.getName());
    List<User> users = (List<User>) map.get("users");
    System.out.println(users.get(0));
}

1 个答案:

答案 0 :(得分:0)

@RequestBody会注入MultiValueMap(如果您将多个内容映射到project)。因此,如果您确定只有一个值将映射到project,则可以替换

@RequestBody HashMap<String, Object> map

@RequestBody MultiValueMap<String, Object> map

Project project1 = (Project) map.get("project");

Project project1 = (Project) map.getFirst("project");