当前位置: 首页 > 知识库问答 >
问题:

如何通过Spring中的CrudRepository的`findAll()`方法在序列化中包含恢复对象的id?

戚逸清
2023-03-14

我有以下实体类:

@Entity
public class GameSet {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

    private String question;
    .......
}
@Repository
public interface GameSetRepository extends CrudRepository<GameSet, Long> { }
...
    @RequestMapping(value = "/test/getgamesets", method = RequestMethod.GET)
    public @ResponseBody Collection<GameSet> getGameSets() {
        return Lists.newArrayList(gamesets.findAll());
    }
...
{
    "question": "Choose one of the following, which is wrong.",
    "title1": "MovieA",
    "title2": "MovieB",
    "title3": "MovieC",
    "title4": "MovieD",
    "wrong": 1,
    "explain": "I don't know why this is wrong.",
    "rates": 0,
    "rate": 0
}

是否应该重写findAll()方法?

谢谢大家的关注和时间!

共有1个答案

孟鸿朗
2023-03-14

我只是在我的应用程序类上从前面的链接添加以下代码:

@Configuration
public static class RepositoryConfig extends RepositoryRestMvcConfiguration {
    @Override
    protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.exposeIdsFor(GameSet.class);
    }
}

而且成功了!!!谢谢JB Nizet让我看清了我的问题所在!

 类似资料:
  • 问题内容: 我正在尝试用Java创建一个简单的图像编辑程序。我制作了一个对象,其中包含有关正在编辑的图像的所有信息(一些基本属性,所应用的效果列表,层列表等),我想要一种简单的方法将其保存到磁盘,以便稍后再次打开。 我发现使用Java的defualt 接口可能正是我想要的,我可以将整个对象写到文件中,稍后再读回内存中。但是,包括和不能序列化(其他所有方法都可以)。 我知道可以重写和方法,但我从未这

  • 然后是班级选拔: 教材: 因此,我主要创建新用户并将其序列化: 一切都很完美,但如果我这样做: 然后我想序列化对象用户,程序崩溃了。我得到的结果是: JAVA木卫一。NotSerializableException:在java上。木卫一。ObjectOutputStream。java上的WriteObject 0(ObjectOutputStream.java:1183)。木卫一。ObjectOu

  • 问题内容: 顾名思义,我正在尝试将包含一些BufferedImages(包括其他变量,字符串等)的对象保存到文件中。 我发现了这一点: 如何序列化包含BufferedImages的对象 它的工作原理就像一种魅力,但有一点点挫折:如果您的对象仅包含一个图像,它就可以很好地工作。 我一直在努力获取他的解决方案以处理多个图像(理论上应该可以使用),但是每次读入文件时,我都会得到对象,图像数量正确,但只有

  • 我试图调用一个restendpoint,它返回一个pojo对象,如下所示: 以下是电话: 问题是我已经尝试了一些方法,例如忽略 OffsetDateTime 属性或尝试更改该日期的格式,但它会引发此错误: 否则它将返回空:(解决这个问题的好解决方案是什么?

  • 问题内容: 你好(对不起我的英语) 我正在开发使用Spring SPRING MVC的json前端网站消耗Web服务的Web服务。spring mvc使用JsonIdentityInfo选项进行序列化,因此每个对象仅在json中写入一次,并且每次都使用引用进行写入,例如她使用相同的对象“ component”有2个“ computer”,因此spring将ID设置为第一个组件(“ @compone

  • 问题内容: 我有一个对象(解析树),其中包含子节点,这些子节点是对其他节点的引用。 我想使用序列化此对象,但是我得到了 TypeError:循环对象值 因为我提到的结构。 我该如何解决?对我而言,在序列化对象中是否表示对其他节点的引用并不重要。 另一方面,在创建对象时从对象中删除这些属性似乎很乏味,我也不想对解析器(水仙)进行更改。 问题答案: 使用的第二个参数,该替代品的功能,以排除已序列化对象