我在 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,它保存了自定义的学说查询,其结果如下所示:

{
    "@type": "hydra:Collection",
    "hydra:member": [
        {
            "id": 1,
            "total": "120.00",
        },
    ]
}

如您所见,total 是一个字符串(因为在查询结果中它是一个字符串)。 我想要的是:一个浮点数:“总计”:120.00。 而且我还希望能够做的是以不同的方式对其进行格式化,例如分隔符符号 ',' 代替 '.' 我没有在文档中找到如何做到这一点。 是缺少文档还是缺少功能?

我希望 API 平台读取 DocBlock 以了解模型的类型。 而且我认为在执行查询之后有一些拦截机制,但在响应被发送回客户端之前,所以我可以更改格式/类型。 谢谢你。

  ask by Artyom Bochkarev translate from so

本文未有回复,本站智能推荐:

1回复

API平台:无法在MySQL中使用json数据类型

我是 API 平台的新手,并试图获取一个 json 数据属性以作为 json 对象持久保存到 MySQL。 我查看了 API 平台文档并用谷歌搜索了答案,但没有找到任何答案。 我的设置: MySQL 列定义为: 我定义了一个“MyEntity”PHP 对象,json 属性描述如下: 现在,当该 U
1回复

Api平台-从外部API返回数据

我目前正在使用 API 平台在 Elasticsearch 中显示一些数据。 效果很好,但是我现在要查看另一个功能。 我的应用程序需要处理需要访问端点并返回一些数据的 3rd 方 API。 在我的应用程序中,我希望能够点击( /api/logistics/{action} - 其中 action 是
1回复

API平台+symfony(json格式)不返回分页元数据

我为API使用“ symfony 4” +“ Api平台”,但是我遇到一个问题,当我尝试以json格式获取列表数据时,分页元数据缺少totalItems first last next 有人遇到这个问题吗?您如何解决呢?
1回复

当将null传递给字符串字段时,API平台返回类型错误而不是验证错误

我使用的是API Platform v2.2.5,在为资源编写测试的过程中,我发现,当为string类型的字段提供null时,在非规范化过程中将返回错误响应,其中包括非客户端友好的消息和堆栈跟踪。 这与提供空字符串或完全省略该字段(返回结构化验证响应)不同。 当提供空字符串时,如何代替返回验
1回复

Api平台属性类型始终为STRING

尽管我努力使用类型提示和@var int注释,但 Api 平台对此属性的解释始终是string 。 考虑这个属性: 我从 Api 平台得到以下架构: 当我尝试提交"geonameId": 123456我收到以下错误: 类 <Entity> 的“geonameId”属性的类型必须是“st
1回复

如果已经存在,则返回实体-API平台

我有实体Tag ,它具有唯一的属性tagValue 。 当我使用已经存在的tagValue进行POST ,我想获得它作为响应。 config/validator/tag.yaml : src/Entity/Tag.php : <?phpnamespace App\Entity;u
1回复

使用api平台存储数据

我想存储一些对象,我通过了参数,但是设置器没有用 我的实体看起来像这样: 而我的service.yml: 我不了解POST请求的工作方式,因为我的实体属性都没有定义。 它适用于演示实体,但不适用于我的实体,我是否错过了一些注释? 还是我的配置不完整?
3回复

API平台-没有为类型资源定义标识符

我有一个由 iso_code 属性标识的 Doctrine 实体类: 当我尝试通过 GET 请求/api/v2/languages?pages=1访问列表时,出现"No identifiers defined for resource of type \\"App\\\\Entity\\\\Lang