See*_*rma 6 java spring json jackson spring-boot
我正在使用 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 = method.getParameters();
// extracting param from this Parameter array.
Run Code Online (Sandbox Code Playgroud)
我想使用这个参数List<String>并创建一个函数/类获取输出为 java.lang.String。因为 Spring 也做了类似的事情,我们只传递参数,有效载荷映射到它们。我怎样才能做到这一点。
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           88 次  |  
        
|   最近记录:  |