我有react app,可以修改已经添加的项目,也可以添加新的项目。然后,提交表单后,我想修改现有表单并在数据库中创建新记录。我应该在表单提交时对现有的进行PUT调用,对新的进行POST调用吗?
当前,我正在对服务器进行POST调用,并检查接收到的对象是否具有主键,然后在数据库中对其进行更新,否则创建新记录。
但是我想我没有遵循其余原则,因为我在同一REST调用中更新和创建记录。
@Post
createOrModifyObject(List<Object> obj) {
if(obj.getId() != null) {
database.update();
}else{
database.create()
}
}
我需要在同一呼叫中创建和更新记录。我应该如何处理?我应该单独调用创建和更新记录吗?
答案 0 :(得分:0)
来自https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT:
HTTP PUT请求方法创建一个新资源或用请求有效负载替换目标资源的表示形式。
从REST的角度来看,在这种情况下,只要使用PUT,就可以只使用一种HTTP方法
答案 1 :(得分:0)
最适合您的解决方案是创建另一种更新资源的方法。为什么?因为:
答案 2 :(得分:-1)
您可以创建POST请求:
something:here / goes / user->此用户将创建一个新用户。
还有一个PUT请求:
某事:此处/转到/用户/有关用户的信息 ->这将更新一个用户。
我会处理其他请求。这将使您的代码更简单,并避免在一个请求中嵌套if-else-then。