Hibernate Rest—如何在JSON数据中动态添加/包含属性
我正在开发RESTWeb服务,并为移动应用程序生成JSON数据。我正在使用Jersey 1.4,web服务器作为tomcat 7,Hibernate 3.3,MySQL5。 我是新来的。 我有一个端点,它根据我的查询返回一个年份列表 输出: {“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012},{“year”:2013}} 这正是我所期望的 但是我被要求在这个返回json数据集中包含一个string类型的描述值。基于年的价值 如果年份=2012(当前年份),说明应为“本年度”,对于年份=2013说明=“下一年”,对于年份=2011说明=“上一年”,对于年份=2010说明=“2010年”,依此类推 我必须返回的内容如下: {“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012,“description”:“this year”},{“year”:2013,“description”:“next year”}] 我的资源课Hibernate Rest—如何在JSON数据中动态添加/包含属性,hibernate,rest,Hibernate,Rest,我正在开发RESTWeb服务,并为移动应用程序生成JSON数据。我正在使用Jersey 1.4,web服务器作为tomcat 7,Hibernate 3.3,MySQL5。 我是新来的。 我有一个端点,它根据我的查询返回一个年份列表 输出: {“success”:true,“count”:2,“message”:null,“data”:[{“year”:2012},{“year”:2013}} 这正是我所期望的 但是我被要求在这个返回json数据集中包含一个string类型的描述值。基于年的价值
@GET
@Path("/{countryCd}/upcoming")
@Produces("application/json")
public JResponse<JsonResponse> getYearsForUpcoming(@PathParam("countryCd")
String countryCode) {
JobDao jobDao =new JobDao();
JsonResponse res= new JsonResponse();
@SuppressWarnings({ })
List<Jobs> jobList= jobDao.getYearsForUpcoming(countryCode);
if(jobList==null){
throw new NotFoundException("Error occured! NO data found");
}
int count = jobList.size();
res.setCount(count);
res.setData(jobList);
return JResponse.ok(res).build();
}
}
我不知道如何向我的JSON数据中添加一个新属性,该属性不在我的实体中。
非常感谢您的任何意见
提前感谢您可能需要再创建一个实体来映射新对象,该实体类似于
public class Data {
private String year;
private String description;
}
然后加载此实体的列表并将其添加到响应中。非常感谢,它以我想要的方式工作。刚刚将我的查询setResultTransformer(Transformers.ALIAS\u TO_ENTITY\u MAP)更改为setResultTransformer(Transformers.aliasToBean(Data.class))。不知道这是否是最佳实践,但它的工作。再次感谢
public class Data {
private String year;
private String description;
}