У меня проблема с изменением типов возвращаемых данных в платформе API: у меня есть объект:
final class ModelClass
{
/**
* @var float
*/
public $total;
}
И конфигурация:
ModelClass:
properties:
total:
attributes:
swagger_context:
type: float
И контроллер:
public function __invoke(CustomRequest $request): Paginator
{
return $this->service->getTotals($request);
}
Возвращаемое значение - Paginator, который содержит пользовательский запрос doctrine, результат которого выглядит следующим образом:
{
"@type": "hydra:Collection",
"hydra:member": [
{
"id": 1,
"total": "120.00",
},
]
}
Как видите, total является строкой (потому что в результате запроса это строка). То, что я хочу, чтобы это было: float: "total": 120.00. И то, что я также хотел бы иметь возможность сделать, это отформатировать его по-другому, например, знак разделителя ',' вместо '.' Я не нашел в документации, как это сделать. Это отсутствующая документация или отсутствующая функция?
Я ожидаю, что платформа API читает DocBlock, чтобы понять тип модели. И я думаю, что существует некоторый механизм перехвата после выполнения запроса, но до того, как ответ будет отправлен обратно клиенту, поэтому я мог бы изменить формат / тип. Спасибо.