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

时间:2012-06-12 12:50:43

标签: java reflection annotations

我有一个用户和学校班级,

public class User {
 private Long id;

 @Property("complete_name")
 private String name;

 private List<School> schools;
 ....
 }

public class School {

 private Long id;

 private Sting name;

 private String otherInfo;
}

我想使用一次通话更新User,School和任何其他对象。因为我想让我的客户动态处理东西。

我想到了一种方法,我声明两个调用1将获得所有字段和他们的类型,其他将能够更新数据,

更新看起来像 致电1:

/update?method=editProfile 

{data:[{id:1},{name:"XYZ"}]}

致电2:

/update?method=editBrand 

{data:[{id:1},{otherInfo:"Some Info"}]}

我使用带方法名称和参数的更新调用方法,并使用反射加载方法并且还能够加载字段,

需要帮助 1)如何根据带注释的字段值更新字段,例如complete_name / name
2)如何在JSON体中验证数据
3)复杂物体的最佳方式/ json是什么。

1 个答案:

答案 0 :(得分:1)

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

  • 对于JSON&lt; - &gt; Java对象可以查看Jackson
  • 对于REST界面,您的应用服务器将为您提供响应HTTP请求的方法。使用GET方法将数据返回给客户端,使用PUT或POST方法从客户端发送数据。

最简单的可能是让客户端每次都发送一个完整的json-ized用户结构,然后您可以使用它来构建Java对象(使用Jackson),然后在更新服务器端版本之前验证它。记得要始终在服务器上验证,不要依赖客户端中的Javascript! 如果效率太低,您可以查看增量更新。

希望这可以帮助你开始。