首页 > 解决方案 > PATCH 方法将 NULL 设置为值而不是值

问题描述

如何通过 Postman 在 json 中插入多行?

我试过这个:

[{
    "name": "Choix 1",
    "question": "Question 1"
},
{
    "name": "Choix 3",
    "question": "Question 44"
}
]

编辑。我在文档中看到这是不可能的。

我在我的 API 中添加了一个非规范化组,现在我可以同时添加多个数据,这要归功于 PATCH 方法。但是现在,问题是当我第二次添加时,它会删除之前的一部分数据。

示例:在“question_study”中,我的“question_id”156、157、160 没有任何“study_ID”,而在我向他发送一个具有其 ID 号的新问题 (161) 之前,他们有一些......并且如果我一次给他发送几个,他们都有一个 study_id 但如果我重试,“study_id”就会消失....

在此处输入图像描述

axios
        .patch('http://127.0.0.1:8000/api/studies/' + this.idStudy, 
             data, 
             { headers: { 'Content-Type': 'application/merge-patch+json' }})
        .then((result)=>{
          console.log(result)
        })
        .catch(error => {
          console.log("ERRRR:: ",error.result.data);
        });

在我的控制台 console.log(result) 中:标头内容类型是“application/ld+json; charset=utf-8”,而我将“application/merge-patch+json”放在我的请求中。

这是我的 db 的一部分: 在此处输入图像描述

标签: jsonvuejs2axiossymfony4api-platform.com

解决方案


如何通过 Postman [到 ApiPlatform] 在 json 中插入多行?

它不是。

至少,不使用从 ApiPlatform 生成的默认路由作为其资源。此处的文档:https ://api-platform.com/docs/core/operations/

任何生成的 POST 路由都只会接受一个资源。

如果您希望能够进行批量插入,则必须创建一个自定义端点,并且可能还需要一个集合反规范化器。


推荐阅读