對 Spring 的 API 呼叫為物體的courseid欄位回傳 0 Event,所有其他欄位回傳正確的值。
在 EventController
@GetMapping("/events")
Page<EventVM> getEvents(Pageable page) {
return eventService.getEvents(page).map(EventVM::new);
}
EventService
public Page<Event> getEvents(Pageable pageable ) {
return eventRepository.findAll(pageable);
}
那么如果我在郵遞員那里嘗試這個請求,我會得到
{
"id": 453,
"eventname": "This is new",
"courseid": 0,
"date": "2021-12-12",
"maxentrants": 12,
"cost": 20.00,
"eventtype": "4BBB",
"qualifier": false,
"info": "This is a test from react",
"winner": null
}
所以courseid顯示為 0 而實際上它是241
為了確保我可以得到這個值,我在 EventController 中做了一個簡單的 getEvents,
@GetMapping("management/events")
List<Event> getEvents() {
return eventRepository.findAll();
}
這將courseid正確回傳所有值 inc 。
courseid在Event表的外鍵id的Course表。我認為這可能是問題所在,但是當我進行簡單的 getEvents 呼叫時它運行良好。
已編輯
com.hoaxify.hoaxify.event.vm;
import com.hoaxify.hoaxify.event.Event;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@NoArgsConstructor
public class EventVM {
private Long id;
private String eventname;
private long courseid;
private String date;
private int maxentrants;
private BigDecimal cost;
private String eventtype;
private Boolean qualifier;
private String info;
private String winner;
public EventVM(Event event) {
this.setId(event.getEventid());
this.setEventname(event.getEventname());
this.setEventtype(event.getEventtype());
this.setDate(event.getDate());
this.setCost(event.getCost());
this.setInfo(event.getInfo());
this.setQualifier(event.getQualifier());
this.setMaxentrants(event.getMaxentrants());
this.setWinner(event.getWinner());
}
}
uj5u.com熱心網友回復:
假設Event有一個courseid屬性,那么您需要EventVM按如下方式修復建構式:
public EventVM(Event event) {
this.setId(event.getEventid());
this.setEventname(event.getEventname());
this.setEventtype(event.getEventtype());
this.setCourseid(event.getCourseid());
this.setDate(event.getDate());
this.setCost(event.getCost());
this.setInfo(event.getInfo());
this.setQualifier(event.getQualifier());
this.setMaxentrants(event.getMaxentrants());
this.setWinner(event.getWinner());
}
注意添加的行this.setCourseid(event.getCourseid());。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/335984.html
上一篇:當我的SpringBatchJob完成時,如何呼叫writer類的方法?
下一篇:如何確保@ExceptionHandler(Exception.class)在SpringBoot中最后被呼叫?
