如何为我的属性(值对象)添加注释,以便API Platform生成其用于草率文档的字段?

时间:2019-05-23 13:06:21

标签: php api symfony annotations api-platform.com

我有一个名为Station的实体。

此实体具有名为attributes的属性,它是StationAttributes的值对象。

我尝试将属性设置为StationAttributes

/**
* @var StationAttributes
* @ORM\Column(name="attributes", type="station_attributes", nullable=true)
*/
private $attributes;

但是,API平台会生成Station模型,如下所示:

{
...
"attributes": "string"
}

我希望它像这样:

{
...
"attributes": {
    "field": true,
    "field2": "value2",
  }
}

我该如何实现?

1 个答案:

答案 0 :(得分:0)

我继续将StationAttributes注册为ApiResource / Model,然后在属性属性中添加了草率的上下文。

/**
 * @var StationAttributes
 *
 * @ApiProperty(
 *     attributes={
 *         "swagger_context"={
 *              "$ref"="#/definitions/StationAttributes"
 *          }
 *     }
 * )
 *
 * @ORM\Column(name="attributes", type="station_attributes", nullable=true)
 */
private $attributes;