我正在使用 JSON 将对象列表发送到 Spring 中的控制器。我的控制器方法是这样的:
@PostMapping("/fun")
public String fun(List<User> users){
    for(User user : users){
       System.out.println(user);
  }
  return "success";
}
Run Code Online (Sandbox Code Playgroud)
这是我的用户类:
public class User{
    String name;
    String password;
    int empID;
    // getter and setters
}
Run Code Online (Sandbox Code Playgroud)
这是我发送的 JSON:
[
   {
      "name":"some-name",
      "password":"password",
      "empID":2
   }
]
Run Code Online (Sandbox Code Playgroud)
我的问题是,JSON 如何知道这是用户列表,因为 Java 类型擦除使得无法知道列表包含哪种对象。因此,即使不知道对象,JSON 如何将自身映射到 User 类。
已编辑
我真正想做的是:
我有一堂课PayloadTester,就像这样
public class PayloadTester{
   public void test(List<String> list){
       // logic
   }
}
Run Code Online (Sandbox Code Playgroud)
从我的主要方法中,我使用反射 apis 来获取test(List<String> list)方法,并且从这个方法中它的参数是这样的,
Method method = tester.getClass().getMethod("test", List.class);
Parameter[] params = …Run Code Online (Sandbox Code Playgroud) 我最近从 Eclipse 迁移到 VSCode。我在 VSCode 中搜索文件(Java 文件)时遇到问题。当我使用Cmd+P在 VSCode 中搜索文件时,它会显示项目中存在的所有文件,除了我正在使用的 jar 中存在的文件。例如,我使用了很多 spring jar,但现在如果我搜索,FrameworkServlet它会显示No Result,检查一下。
Eclipse 用于显示 jar 中的文件,但 vscode 不显示。另外,我安装了Java扩展的文件管理器。如何在 VSCode 中实现这个功能?