Ниже указан мой Java / spring-boot код контроллера для /api/speaker/123
обработчика запроса:
@GetMapping
@RequestMapping("{id}")
public Speaker get(@PathVariable Long id) {
return speakerRepository.getOne(id);
}
Если id 123
не найдено для входящего запроса /api/speaker/123
Тогда как быстро код вернуть пустой объект / json в браузер? В мире Nodejs / JavaScript я мог бы просто сделать ниже одной строки. Любой такой чистый код без необходимости добавлять if...else
, затем больше кода для поиска null/empty
, затем делать больше ... и затем возвращать!
return speakerRepository.getOne(id) || {};
Отредактировано:
// Speaker.java
@Entity(name = "speakers")
@JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})
public class Speaker {
public Long getSpeaker_id() {
return speaker_id;
}
public void setSpeaker_id(Long speaker_id) {
this.speaker_id = speaker_id;
}
public String getFirst_name() {
return first_name;
}
public void setFirst_name(String first_name) {
this.first_name = first_name;
}
public String getLast_name() {
return last_name;
}
public void setLast_name(String last_name) {
this.last_name = last_name;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCompany() {
return company;
}
public void setCompany(String company) {
this.company = company;
}
public String getSpeaker_bio() {
return speaker_bio;
}
public void setSpeaker_bio(String speaker_bio) {
this.speaker_bio = speaker_bio;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long speaker_id;
private String first_name;
private String last_name;
private String title;
private String company;
private String speaker_bio;
public List<Session> getSessions() {
return sessions;
}
@ManyToMany(mappedBy = "speakers")
@JsonIgnore
private List<Session> sessions;
public Speaker(){
}
}
// SpeakerRepository.java
public interface SpeakerRepository extends JpaRepository<Speaker, Long> {
}