【发布时间】:2018-09-29 00:42:03
【问题描述】:
我有一个宁静的 web 服务返回 pojo 对象列表,它没有生成正确的 json 格式。
以下是不返回json对象的代码
@RequestMapping("/getThisWeekPlan")
public List<ShiftPlannerView> getThisWeekPlan() {
return getShiftPlanRepo.fetchThisWeekShiftPlan();
}
我的 POJO 使用 namedquery 设置 JPA 的结果并使用 hibernate
public class ShiftPlannerView {
public ShiftPlannerView() {
}
private Date shiftPlannerDate;
private String resourceName;
private String shiftName;
public ShiftPlannerView(Date shiftPlannerDate, String resourceName, String shiftName) {
super();
this.shiftPlannerDate = shiftPlannerDate;
this.resourceName = resourceName;
this.shiftName = shiftName;
}
public Date getShiftPlannerDate() {
return shiftPlannerDate;
}
public void setShiftPlannerDate(Date shiftPlannerDate) {
this.shiftPlannerDate = shiftPlannerDate;
}
public String getResourceName() {
return resourceName;
}
public void setResourceName(String resourceName) {
this.resourceName = resourceName;
}
public String getShiftName() {
return shiftName;
}
public void setShiftName(String shiftName) {
this.shiftName = shiftName;
}
@Override
public String toString() {
return "ShiftPlannerView [shiftPlannerDate=" + shiftPlannerDate + ", resourceName=" + resourceName
+ ", shiftName=" + shiftName + "]";
}
}
数据库调用
@Repository
公共类 GetShiftPlanRepoImpl 实现 GetShiftPlanRepo{
@PersistenceContext
EntityManager em;
@Override
public List<ShiftPlannerView> fetchThisWeekShiftPlan() {
List<ShiftPlannerView> result= em.createNamedQuery("fetchByShiftPlannerThisWeek")
.getResultList();
return result;
}
}
以下是回复:
[
[
"2018-04-16",
"Elias",
"I"
],
[
"2018-04-16",
"Sithik",
"II"
],
[
"2018-04-17",
"Vikram Boya",
"I"
],
[
【问题讨论】:
-
您得到的回应是什么?
-
@Ossin 我的问题的最后一部分是我的回答,我现在已经编辑了。
-
您能否编辑您的问题以包含整个 POJO,包括 getter 和 setter?
-
您的命名查询实际上可能不会返回 ShiftPlannerView 的实例,而是返回对象数组。
-
很有可能。还请包括 JPQL 命名查询
fetchByShiftPlannerThisWeek。我认为您没有选择 whoe 对象,而只是选择个别列。
标签: java json rest spring-boot