对java中不同类型对象的更新的单个调用

对java中不同类型对象的更新的单个调用,java,reflection,annotations,Java,Reflection,Annotations,我有一个用户和学校班级 public class User { private Long id; @Property("complete_name") private String name; private List<School> schools; .... } 我想使用单个调用更新用户、学校和任何其他对象。因为我想让我的客户动态地处理事情 我想到了一种方法,我的declare two call 1将获取所有字段及其类型,其他将能够更新数据 更新看起来像 电话1

我有一个用户和学校班级

public class User {
 private Long id;

 @Property("complete_name")
 private String name;

 private List<School> schools;
 ....
 }
我想使用单个调用更新用户、学校和任何其他对象。因为我想让我的客户动态地处理事情

我想到了一种方法,我的declare two call 1将获取所有字段及其类型,其他将能够更新数据

更新看起来像 电话1:

身体

电话2:

/update?method=editBrand 
身体

我使用update和method name和params调用该方法,并使用reflection加载该方法,还可以加载字段

需要帮助
1) 如何根据带注释的字段值更新字段,例如complete_name/name
2) 如何验证JSON正文中的数据

3) 对于复杂的对象,/json的最佳方式是什么。

我想你这里有不止一个问题,总的来说这有点难以回答,但是:

  • 对于JSON Java对象,请看
  • 对于REST接口,应用服务器将为您提供一种响应HTTP请求的方法。使用GET方法向客户机返回数据,使用PUT或POST方法从客户机发送数据
最简单的方法可能是让客户端每次都发送一个完整的json化用户结构,然后使用它来构建Java对象(使用Jackson),然后在服务器端更新版本之前对其进行验证。记住要始终在服务器上验证,不要在客户端依赖Javascript! 如果这样做效率太低,您可以考虑进行增量更新


希望这能让你开始。

我不知道你在问什么。它是关于ajax(rest)请求的吗?“加载字段”是什么意思?“验证”和“映射”在哪里起作用?很抱歉造成混淆,是的,它们是ajax调用。我想根据注释值更新字段,例如complete_name而不是fieldName只是想澄清一下:您是否询问服务器端Java来处理来自web客户端的请求(使用JQuery或其他什么?)您在服务器上使用的是什么-都是您自己的代码还是您使用的是应用服务器(JavaEE或类似的?)是的,它是一个应用服务器(J2EE)
/update?method=editProfile 
{data:[{id:1},{name:"XYZ"}]}
/update?method=editBrand 
{data:[{id:1},{otherInfo:"Some Info"}]}