Java Spring:获取多个实体时,引用实体(OneToMany)不会显示在JSON中
当我在POSTMAN中发送GET请求以获取所有子实体时,JSON响应中不会显示父实体省 这是我的控制器Java Spring:获取多个实体时,引用实体(OneToMany)不会显示在JSON中,java,json,spring,spring-mvc,spring-data-jpa,Java,Json,Spring,Spring Mvc,Spring Data Jpa,当我在POSTMAN中发送GET请求以获取所有子实体时,JSON响应中不会显示父实体省 这是我的控制器 @RequestMapping(value ="api/v1/town",method = RequestMethod.GET) public ResponseEntity<List<Town>> getAllTowns() { List<Town> towns = townService.getAllTowns(); if(towns.is
@RequestMapping(value ="api/v1/town",method = RequestMethod.GET)
public ResponseEntity<List<Town>> getAllTowns() {
List<Town> towns = townService.getAllTowns();
if(towns.isEmpty()) {
return new ResponseEntity<List<Town>>(HttpStatus.NO_CONTENT);
}
return new ResponseEntity<List<Town>>(towns, HttpStatus.OK);
}
我得到的回应是这样的
{
"id" : 1,
"name" : "Some Town",
"kilometer" : 350
}
我期待的是
{
"id" : 1,
"name" : "Some Town",
"province" : {
//Province data.....
}
"kilometer" : 350
}
我能够展示这样的东西,但我使用的对象不是Spring数据jpa实体,只是简单的POJO
我的实体有什么问题吗?或者还有别的吗?交换@JsonBackReference和@JsonManagedReference。基本上:
@JsonManagedReference
private Province province;
@JsonBackReference
private List<Town> towns;
如果我这样做,我的父实体将无法显示子实体。我可以通过引用这个来修复它。
{
"id" : 1,
"name" : "Some Town",
"province" : {
//Province data.....
}
"kilometer" : 350
}
@JsonManagedReference
private Province province;
@JsonBackReference
private List<Town> towns;