REST 严格验证与否?

Posted

技术标签:

【中文标题】REST 严格验证与否?【英文标题】:REST strict validation or not? 【发布时间】:2022-01-01 14:27:14 【问题描述】:

我正在使用使用 Jackson json 解析器的 Java Spring Boot 微服务。关于我在我的开放 api 规范中定义的 json 模式,我注意到我的实现将允许超出我的模式中定义的字段...。

即 我的架构目前允许:


    "Name": "Denu",
    "Contact": 12345678

当我按照以下提供 blah 属性时,我的代码不会失败。它只是忽略它:


    "Name": "Denu",
    "Contact": 12345678,
    "blah": "example"

我可以使用可以为 Jackson 解析器配置的严格验证来更改这一点,但我想从行业标准的角度知道是否有任何参考标准记录了我是否应该使用严格?

谢谢

【问题讨论】:

【参考方案1】:

我的架构当前允许...

如果您处于需要选择扩展架构的环境中,那么您将需要考虑“必须忽略”和“必须转发”等设计原则。

参见,例如David Orchard 2003;然后应用于 XML 模式设计的概念在设计 JSON 模式时仍然有用。

其他有用的参考资料:

David Orchard 2004 Mike Amundsen 2017

【讨论】:

以上是关于REST 严格验证与否?的主要内容,如果未能解决你的问题,请参考以下文章

ajax验证表单元素规范正确与否 ajax展示加载数据库数据 ajax三级联动

java字符串操作,验证输入的身份证合法与否

Django中的Form表单验证

严格验证可空字段[重复]

REST 和身份验证变体

身份验证和 REST