kurt estacion :
i am currently making a website using spring and i stumble upon this basic scenario that i don't have any idea on how to solve this specific code: Entity = Optional;
RoomEntity roomEntity = roomRepository.findById(roomId);
ReservationResource(API request Class):
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 Class:
public interface RoomRepository extends CrudRepository<RoomEntity, Long> {
List<RoomEntity> findAllById(Long id);
}
RoomEntity
@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();
}
}
Hiren :
According to your error you are getting Optional<RoomEntity>
from repository's findAll method and you are casting it to RoomEntity
.
Instead of RoomEntity roomEntity = roomRepository.findById(roomId);
do this
Optional<RoomEntity> optinalEntity = roomRepository.findById(roomId);
RoomEntity roomEntity = optionalEntity.get();
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=463417&siteId=1