Тип возвращаемых данных в платформе API - PullRequest
1 голос
/ 21 февраля 2020

У меня проблема с изменением типов возвращаемых данных в платформе 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, чтобы понять тип модели. И я думаю, что существует некоторый механизм перехвата после выполнения запроса, но до того, как ответ будет отправлен обратно клиенту, поэтому я мог бы изменить формат / тип. Спасибо.

...