PATCH 方法将 NULL 设置为值而不是值
Posted
技术标签:
【中文标题】PATCH 方法将 NULL 设置为值而不是值【英文标题】:PATCH method set NULL to values instead of the value 【发布时间】: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
配置。
有一个issue about batch operations
对不起,我是初学者,所以我不明白它如何帮助我解决我的问题...
【参考方案1】:
如何通过 Postman [into ApiPlatform] 在 json 中插入多行?
不是。
至少,不使用从 ApiPlatform 生成的默认路由作为其资源。文档在这里:https://api-platform.com/docs/core/operations/
任何生成的 POST 路由都只会接受一个资源。
如果您希望能够进行批量插入,则必须创建一个自定义端点,并且可能还需要一个集合反规范化器。
【讨论】:
是的,我尝试使用非规范化组,但仍然有问题。我编辑了我的第一条消息以了解 我编辑了我的第一条消息,因为问题很奇怪 你有什么想法吗?以上是关于PATCH 方法将 NULL 设置为值而不是值的主要内容,如果未能解决你的问题,请参考以下文章
当未设置可选字段时,大象鸟库生成字段的默认值而不是 null
使用viewData值而不是ModelData手动设置表单数据