这是我的情况:我使用带有 Drupal 8 的 ECK 模块来创建实体和包,并使用新的 REST 核心模块来创建 API 功能。
我已经安装了 REST_UI 模块,并为我感兴趣的实体启用了路由。
这是我的问题:我使用 ECK 创建了一个实体类型和一个包,然后当我/entity/entity_type_name
使用 POST 请求调用端点时,我可以创建一个新实体,并将以下参数作为 json:
{
"type":[{"target_id":"bundle_name"}],
"field_test_text":[{"value":"test"}]
}
但是,这仅在我的实体列表中只有一种实体类型时才有效;例如,假设我决定创建一个新的实体类型,然后运行相同的请求,我收到以下错误消息:
Drupal\Core\Entity\Exception\AmbiguousEntityClassException: Multiple entity types found for Drupal\eck\Entity\EckEntity
我明白,显然,既然我有多种实体类型,Entity API 无法理解它必须创建的实体的类型应该是什么(我觉得这很奇怪,考虑到我在下面的 URL 中提供它这种形式/entity/entity_type_name
,并且对于我拥有的不同类型的实体有不同的路线可用)。
我想我需要在我的 json 中传递一个额外的参数,以便 Drupal 了解它应该创建什么样的实体,但是这个参数是什么?我一直在尝试在网上和文档中查找,但我无法弄清楚如何做到这一点。