gpt4 book ai didi

java - 在后端处理 PUT http 请求中的可选字段的最佳方法是什么

转载 作者:行者123 更新时间:2023-12-05 00:56:00 29 4
gpt4 key购买 nike

我找不到 PUT 调用的开发人员指南。如果在 PUT 请求中将可选值作为 null 传递,我们应该怎么做。我们是在 db 中将其设置为 null 还是保留 db 中的先前值(如果有)?这种方法的问题是,一旦使用值创建,我们将无法更新值以使可选字段无效。

例如。对于同一个实体假设学生表,我有一个可以为空的名称列假设学生可选主题。现在在 POST student_optional_subject 中设置为值“微积分”。再次发出 PUT 请求,请求正文中的 student_optional_subject 为 null(即,请求中缺少该字段,因为它是可选字段)..我应该在 student_optional_subject 中保留“微积分”还是将其设置为 null..

最佳答案

如果 PUT 请求中的值为 null,则应将其保存为 null。它不应该被忽略,因为它是可选的。

PUT 的方式方法已定义,它应该始终是资源的完整更新。如果我对同一资源执行 PUT 和 GET,我从 GET 收到的表示应该等同于在 PUT 中发送的表示。

如果您忽略空字段,则称为部分更新。 PUT 不支持部分更新。这是人们在构建 REST API 时最常犯的错误之一。

如果要进行部分更新,可以使用 PATCH方法。但是,要小心,因为 PATCH 的使用不正确甚至比 PUT 更频繁。如果您使用 PATCH,您应该使用差异媒体类型,例如 application/patch+jsonapplication/merge-patch+json .

关于java - 在后端处理 PUT http 请求中的可选字段的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63192172/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com