处理HTTP请求体中多余数据的标准协议是什么?



所以我的端点只期望这个模式:

{
A: "number",
B: "number
}

发送者发送:

{
A: "number",
B: "number,
C: "number
}

我该如何处理C?如果发送者是我的UI怎么办,这意味着UI中有一个bug。

是否有处理这种情况的标准协议?

有些服务会忽略额外的参数,有些会拒绝。

一般的好建议是使用类似JSON Schema的东西来描述您期望的主体,将additionalProperties设置为false(更好地拒绝意外数据),并在存在验证错误时发出422错误。

如果使用json模式,可以将额外属性设置为false

{
"properties" {
A: "number",
B: "number"
}
additionalProperties = false`
}

导致验证并拒绝您所描述的额外属性。或者您可以故意忽略额外的数据—如果是您的UI,那么您可能确实想要调查,但如果是其他人使用您的端点,那么您就无法控制。但是设置这个属性会导致json经过一些验证,并为你处理它。

最新更新