Spring Boot。如何将Optional <>传递给实体类
我目前正在使用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();
}
}
回答:
根据您的错误,您Optional<RoomEntity>
从存储库的findAll方法获取数据并将其转换为RoomEntity
。
而不是RoomEntity roomEntity = roomRepository.findById(roomId);
这样做
Optional<RoomEntity> optinalEntity = roomRepository.findById(roomId);
RoomEntity roomEntity = optionalEntity.get();
以上是 Spring Boot。如何将Optional <>传递给实体类 的全部内容, 来源链接: utcz.com/qa/435518.html