<?php/** * @ApiResource( * normalizationContext={"groups"={"fields_group:read"}}, * denormalizationContext={"groups"={"fields_group:write"}} * ) */class Entity { /** * @var array Settings. * * @ORM\Column(type="json", options={"comment":"Settings"}) * * @Assert\NotBlank() * @Assert\Json() * * @Groups({"fields_group:read", "fields_group:write"}) * @ApiProperty( * attributes={ * "openapi_context"={ * "type"="object", * "example"={"option":"value"} * } * } * ) */ private array $settings; /** * @return array */ public function getSettings(): array { return $this->settings; } /** * @param array $settings * * @return self */ public function setSettings(array $settings): self { $this->settings = $settings; return $this; }}要求curl -X POST "https://localhost/api/entities" \ -H "accept: application/ld+json" \ -H "Content-Type: application/ld+json" \ -d "{\"settings\":{\"option\":\"value\"}}"回复{ "status": 400, "message": "Expected argument of type \"string\", \"array\" given"}如何通过 ApiPlatform 保存 json 属性?
1 回答
森林海
TA贡献2011条经验 获得超2个赞
Json验证器有罪https://github.com/symfony/validator/blob/v5.1.3/Constraints/JsonValidator.php#L37
这是多余的 ApiPlatform 将通过注释检查类型 @var array Settings
- 1 回答
- 0 关注
- 81 浏览
添加回答
举报
0/150
提交
取消