Swagger 当我们在OpenAPI POST端点的请求体(JSON)中传递额外字段时会发生什么

Swagger 当我们在OpenAPI POST端点的请求体(JSON)中传递额外字段时会发生什么,swagger,openapi,swagger-codegen,restapi,Swagger,Openapi,Swagger Codegen,Restapi,我正在研究Swagger生成的OpenAPI规范,我注意到如果我们在PUT/POST API端点中传递一些额外的字段,那么服务器不会抛出任何错误,即使它处理所有有效/必要的字段。 所以我怀疑的是 在这种情况下,服务器是否应该抛出错误 OpenAPI标准允许未知字段,然后忽略它们吗 在Swagger规范2.0中,没有拒绝请求正文中传递的额外字段的选项。服务器将只接受请求定义中允许的字段,其他字段将被忽略。 如果不允许额外字段,则可以在后端手动处理这些字段。这取决于API定义和服务器框架。在Open

我正在研究Swagger生成的OpenAPI规范,我注意到如果我们在PUT/POST API端点中传递一些额外的字段,那么服务器不会抛出任何错误,即使它处理所有有效/必要的字段。 所以我怀疑的是

  • 在这种情况下,服务器是否应该抛出错误
  • OpenAPI标准允许未知字段,然后忽略它们吗

  • 在Swagger规范2.0中,没有拒绝请求正文中传递的额外字段的选项。服务器将只接受请求定义中允许的字段,其他字段将被忽略。
    如果不允许额外字段,则可以在后端手动处理这些字段。

    这取决于API定义和服务器框架。在OpenAPI3.0中,模式可以使用
    additionalProperties:false
    来拒绝包含额外属性的有效负载。一些服务器框架提供了配置选项,可以忽略有效负载中的额外属性,也可以抛出错误。您也可以自己实现这个逻辑。