【问题标题】:PATCH method set NULL to values instead of the valuePATCH 方法将 NULL 设置为值而不是值
【发布时间】:2021-06-26 11:48:55
【问题描述】:

如何通过 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”放入我的请求中。

这是我的数据库的一部分:

【问题讨论】:

  • 请为您正在与之交互的资源提供@ApiResource 配置。
  • 对不起,我是初学者,所以我不明白它如何帮助我解决我的问题...

标签: json vuejs2 axios symfony4 api-platform.com


【解决方案1】:

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

不是。

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

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

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

【讨论】:

  • 是的,我尝试使用非规范化组,但仍然有问题。我编辑了我的第一条消息以了解
  • 我编辑了我的第一条消息,因为问题很奇怪
  • 你有什么想法吗?
猜你喜欢
  • 2013-07-12
  • 2023-04-02
  • 2012-10-12
  • 2018-05-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多