Ben*_*r77 5 serialization symfony api-platform.com
我已经使用 ApiPlatform 成功为我的系统构建了一个 API。感谢开发人员,这是一个出色的系统。我可以以 JSON-LD 格式向它发送请求,它也以 JSON-LD 格式返回响应。
我了解使用 JSON-LD 的好处,但我觉得我错过了一大块拼图。如何在我基于 Symfony 的 PHP 客户端(使用 API)中使用嵌入式 JSON-LD 上下文反序列化为 PHP 对象。
假设我的 API 有以下响应
{
"@context": "/contexts/CallbackRequest",
"@id": "/callback-requests/72",
"@type": "CallbackRequest",
"id": 72,
"created": "2017-09-22T08:07:25+02:00",
"customer": {
"@id": "/customers/13",
"@type": "Customer",
"id": 13,
"firstName": "Joe",
"lastName": "Bloggs",
"email": "joe@bloggs.com",
"mobilePhone": "123456789"
}
}
Run Code Online (Sandbox Code Playgroud)
现在,由于 JSON-LD @context 和 @type 数据,这里有足够的信息可以反序列化为CallbackRequest具有嵌套对象的2 个 PHP 对象。Customer
我已经编写了自己的反规范化器,但我必须告诉序列化器我想首先反序列化为哪种对象,但如果不首先对其进行规范化,我无法从 JSON-LD 中提取它。
我进行了很多搜索,寻找为 Symfony 序列化器制作 JSON-LD 规范化器/反规范化器的人,但什么也没找到(除了 API 平台包本身内的此功能)。
任何人都可以向我提供任何指针,无论是我可以实现的 JSON-LD 非规范化程序包,还是有关如何实现 Symfony 序列化程序以对 JSON-LD 进行非规范化的任何建议,而无需提前知道它应该包含什么对象。
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |