gpt4 book ai didi

java - 为什么 Jersey 提供过时的数据?

转载 作者:行者123 更新时间:2023-12-01 11:10:30 24 4
gpt4 key购买 nike

我的提供程序类中有一个对象的List:

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;
}

这也有效:它返回工作区的完整列表,包括刚刚传入的工作区。

问题是,当我使用第一种方法再次GET资源时,我使用第二种方法POST编辑的任何新项目都不存在。我看到的唯一项目是由提供程序类的构造函数添加的项目。我怎样才能保留这些数据?

最佳答案

可能您的 POST 调用正在不同的 bean 上运行。这些 bean 是单例吗?尝试在每次调用中打印“this”指针。

关于java - 为什么 Jersey 提供过时的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com