Spring Boot。如何將Optional <>傳遞給實體類
如何解決Spring Boot。如何將Optional <>傳遞給實體類?
根據您的錯誤,您Optional<RoomEntity>從存儲庫的findAll方法獲取數據并將其轉換為RoomEntity。
而不是RoomEntity roomEntity = roomrepository.findById(roomId);這樣做
Optional<RoomEntity> optinalEntity = roomrepository.findById(roomId);RoomEntity roomEntity = optionalEntity.get();
解決方法
我目前正在使用Spring創建一個網站,但偶然發現了這種基本情況,我對如何解決此特定代碼一無所知:Entity = Optional;
RoomEntity roomEntity = roomRepository.findById(roomId);
ReservationResource(API請求類):
public class ReservationResource { @Autowired RoomRepository roomRepository; @RequestMapping(path = "/{roomId}",method = RequestMethod.GET,produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public ResponseEntity<RoomEntity> getRoomById( @PathVariable Long roomId){ RoomEntity roomEntity = roomRepository.findById(roomId); return new ResponseEntity<>(roomEntity,HttpStatus.OK);} }}
RoomRepository類:
public interface RoomRepository extends CrudRepository<RoomEntity,Long> { List<RoomEntity> findAllById(Long id);}
房間實體
@Entity@Table(name = "Room")public class RoomEntity { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @NotNull private Integer roomNumber; @NotNull private String price; public RoomEntity() { super(); }}