提交编辑的Angular表单时,放置或修补更好?

问题描述 投票:0回答:1

我知道PUT和PATCH之间的区别。但我正在努力在自己的用例中选择哪一种更合适。

我的应用程序中有大型表单(超过50个嵌套表单控件)和小型表单(有几个表单控件)。两种形式都允许编辑。我需要将更新后的表单值发送到后端服务器。

我的犹豫是,如果我执行PUT请求,那么它将为大型表单创建巨大的负载,即使用户可能只是编辑了这50个表单控件中的一个或两个输入字段。因此,这听起来不是始终将整个实体发送到后端的好方法。但是,相反,如果我发出PATCH请求,那么我将需要遍历所有这50个表单控件,并且只有那些值已更改的控件才会发送到后端。这样,可以将有效负载最小化,但是对我来说这听起来很笨拙,因为我需要将“值更改后的检查”放到所有编辑表单中。

我搜索了过去的帖子并用谷歌搜索,但令人惊讶的是,由于示例中的表单简单,因此没有多少人谈论它或仅使用PUT请求。

我希望听到您的建议。预先谢谢你。

ps.s。我在Angular 7中使用了Reactive Form,并且可以在后端控制PUT和PATCH rest api。

angular rest patch put
1个回答
0
投票

[大多数时候,您应该使用PUT -因为已知消息为idempotent,如果响应似乎丢失了,通用客户端可以重新发送请求。使用PATCH,您将无法获得保证。

异常通常看起来像这样:资源的表示形式比HTTP头大得多(以字节为单位,并且补丁文档的表示形式比资源的表示形式小得多。

© www.soinside.com 2019 - 2024. All rights reserved.