我在控制器中创建了一个微服务,我所需的值来自响应,但它没有显示在邮递员中,但我邮递员我得到以下响应
@RestController @RequestMapping("/rental") 公共类 RentalController {
@Autowired
私人租赁服务租赁服务;
@GetMapping("/{id}")
public ResponseEntity getRental(@PathVariable("id") Long id){ Rental rl =rentalService.findRentalById(id); 返回 ResponseEntity.ok(rl); }
@GetMapping("/viewAll")
公共列表 getAllRental(){ 列表 ls =rentalService.viewAllRental(); 返回ls;}
}
@Service 公共类 RentalService {
@Autowired
私人RentalRepositoryrentalRepository;
@Autowired
私人 RentalTypeRepository RentalTypeRepository;
@Autowired
私有 SizeTypeRepository sizeTypeRepository;@Autowired 私人 SleepingArrangementRepository sleepArrangementRepository;
公共租赁保存(租赁rt){返回租赁Repository.save(rt); }
公共租赁findRentalById(长id){返回rentalRepository.findAllByRentalId(id); }
公共列表 viewAllRental(){ 列表 lsRental= new ArrayList(); lsRental = RentalRepository.findAll();
返回 lsRental;}
公共列表 viewAllRentalType(){ 列表 lsRental= new ArrayList(); lsRental = RentalTypeRepository.findAll(); 返回 lsRental;}
公共列表 viewAllSizeType(){ 列表 lsSizeType= new ArrayList(); lsSizeType = sizeTypeRepository.findAll(); 返回 lsSizeType;}
}
@Repository 公共接口 RentalRepository 扩展 JpaRepository<Rental, Long> {
公共租赁 findAllByRentalId(Long id);
}
@Entity @Getter @Setter @AllArgsConstructor @NoArgsConstructor @Table(name="rental",schema="bnb_pms") 公共类租赁 {
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="RENTAL_ID")
私人长租ID;
@Column(name="RENTAL_NAME")
私人字符串租金名称;
@Column(name="INTERNAL_NAME")
私有字符串内部名称;
@Column(name="DES")
私有字符串des;
@ManyToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST }) @JoinColumn(name="TYPE_ID")
私人租赁类型 租赁类型;
@Column(name="RENTAL_SIZE")
私人 int 租金大小;
@Column(name="GUEST_ACCOMODATE")
私人 int guestAccomodate;
@Column(name="TOTAL_UNITS")
私有 int 总单位数;
}
@Entity @NoArgsConstructor @AllArgsConstructor @Table(name="rental_type",schema="bnb_pms") 公共类 RentalType {
@Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name="TYPE_ID")
私有长类型Id;
@Column(name="TYPE_NAME")
私有字符串类型名称;
}
作为响应,我得到了租赁类型的值,如图所示, 调试器图像
但在邮递员租赁类型对象中未显示。邮递员回复如下,
{“rentalId”:453,“rentalName”:“Ehsan ulhaq Darrr1659”,“internalName”:“Khadim Hussain Dar”,“des”:“[email protected]”,“rentalType”:{},“rentalSize”: 2、“guestAccomodate”:4、“totalUnits”:3 }
此问题与您的 java 对象序列化(通过 Jackson)到 JSON 有关,而不是与 JPA 或映射有关。如果你看一下序列化的内容:
您可以看出有一个对象正在被序列化,它只是没有任何属性或数据。这是因为 Jackson 将默认使用属性访问。
如果你检查你的实体定义,有数据的实体定义,Rental有:
而 RentalType 类只是使用:
如果添加 getter 和 setter,Jackson 将能够查看属性并将它们包含在对象 JSON 中。