如何解决Oro 中的 RestAPI 自定义模型异步操作
我创建了模型 AcmeBundle\Api\Model\AcmeLineItem,其中包含几个字段,并在 config/oro/api.yml
文件中对其进行了配置。
api:
entity_aliases:
AcmeBundle\Api\Model\AcmeLineItem:
alias: acme
plural_alias: acme
entities:
AcmeBundle\Api\Model\AcmeLineItem:
fields:
name:
data_type: string
form_options:
constraints:
- NotBlank: ~
actions:
create: true
update_list: true
处理器中可用于 create
操作的字段,并且可以由它以所需的方式进行处理。
- { name: oro.api.processor,action: create,group: save_data,class: AcmeBundle\Api\Model\AcmeLineItem }
但该方法需要元键中的主体结构。
{
"Meta": {
"name": "acme"
}
}
基于此,很难找出如何处理 update_list
操作。
解决方法
需要指定实体标识符 (id)。
为此,请在 api.yml 文件中为 identifier_field_names
设置 AcmeBundle\Api\Model\AcmeLineItem
选项。
identifier_field_names string[] - 实体的标识符字段的名称。使用此选项可以覆盖在配置文件中设置的名称(对于不基于 ORM 实体的 API 资源)或从实体元数据中检索(对于 ORM 实体)。当您不想在 API 中使用主键作为实体标识符时,此选项很有用。
完整的 API 配置参考:https://doc.oroinc.com/backend/api/configuration/#web-api-entities-config
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。