我有以下实体类:
@Entity
public class GameSet {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String question;
.......
}
这是我的存储库:
@Repository
public interface GameSetRepository extends CrudRepository<GameSet, Long> { }
这是我的 Controller 的相关部分:
...
@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
}
除了其他属性之外,我还想在请求结果中获取对象的 id。
我应该覆盖 findAll()
方法吗?
感谢您的关注和时间!
最佳答案
我只是将以下代码添加到上一个链接中的应用程序类中:
@Configuration
public static class RepositoryConfig extends RepositoryRestMvcConfiguration {
@Override
protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
config.exposeIdsFor(GameSet.class);
}
}
而且有效!!!感谢 JB Nizet 让我看清了我的问题所在!
关于java - Spring中如何通过CrudRepository的 `findAll()`方法在序列化中包含回收对象的id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26819189/