为什么泽西岛提供过时的数据?
Why is Jersey providing outdated data?
我的提供程序中有 List
个对象 class:
List<Workspace> workspaces = new ArrayList<Workspace>();
我有一个方法可以在 JSON:
中提供这个工作区列表
@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Workspace> workspaces() {
return workspaces;
}
这确实有效。我有另一种方法可以像这样更新 List
:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public List<Workspace> create(Workspace workspace) {
workspaces.add(workspace);
return workspaces;
}
这也有效:它 returns 工作区的完整列表,包括刚传入的工作区。
问题是,当我再次使用第一种方法 GET
资源时,我 POST
使用第二种方法编辑的任何新项目都不存在了。我看到的唯一项目是由提供者 class 的构造函数添加的。我怎样才能保存这些数据?
可能是您的 POST 调用在不同的 bean 上运行。这些豆子是单例的吗?尝试在每次调用中打印 'this' 指针。
我的提供程序中有 List
个对象 class:
List<Workspace> workspaces = new ArrayList<Workspace>();
我有一个方法可以在 JSON:
中提供这个工作区列表@GET
@Produces(MediaType.APPLICATION_JSON)
public List<Workspace> workspaces() {
return workspaces;
}
这确实有效。我有另一种方法可以像这样更新 List
:
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public List<Workspace> create(Workspace workspace) {
workspaces.add(workspace);
return workspaces;
}
这也有效:它 returns 工作区的完整列表,包括刚传入的工作区。
问题是,当我再次使用第一种方法 GET
资源时,我 POST
使用第二种方法编辑的任何新项目都不存在了。我看到的唯一项目是由提供者 class 的构造函数添加的。我怎样才能保存这些数据?
可能是您的 POST 调用在不同的 bean 上运行。这些豆子是单例的吗?尝试在每次调用中打印 'this' 指针。