我正在嘗試將 API 平臺序列化與計算欄位一起使用,如下所示
但是,當我將 return 更改為其他內容(例如return new \DateTime('now'))時,我就可以正常作業了。
我想知道為什么會這樣,我也嘗試過使用字串,但它不起作用。
uj5u.com熱心網友回復:
我假設您的物體屬性 $timePassed 是 DateTime 型別。getTimePassed() 方法的回傳型別也必須是 DateTime 型別。您可以將屬性 $timePassed 的型別更改為 int 而不是 DateTime 或進行自定義 TimePassedSerializer 服務。
/** this **/
private int $timePasede;
/** insted of this **/
private DateTime $timePasede
uj5u.com熱心網友回復:
該示例: int在末尾定義了函式的回傳型別,因此很明顯該函式將回傳一個整數。
我猜 api-platform 在定義不同的回傳型別之前,默認情況下會期望一個物件。
所以這應該根據我的理解作業。請注意,我沒有測驗它,因為我現在沒有可能。
/**
* @Groups({
* "read:actionJeu"
* })
*/
public function getTimePassed(): int {
return 4;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/406908.html
標籤:
上一篇:Symfony5.1 中RoutingConfigurator的RouteCollectionBuilder::setRequirement模擬
