Spring Boot Rest API @RequestBody 中的 @Valid 与 @Validated [重复]

2024-06-28

我拥有开发 REST API 的 .NET 背景。现在使用 spring boot 从事 java REST 项目。

首先,我在控制器 @RequestBody 上的验证停止工作。在尝试修复它时,我看到了不同的实施方法。那么注释 @RequestBody 的正确方法是什么?

@Validated @RequestBody

or

@Valid @RequestBody

两者一般没有太大区别@Valid来自JSR-303标准,@Validated是弹簧标准。根据春季文件:

Spring 提供了一个 Validator 接口,可用于应用程序所有层中的验证。在 Spring MVC 中,您可以将其配置为用作全局 Validator 实例,在遇到 @Valid 或 @Validated 控制器方法参数时使用,和/或通过 @InitBinder 方法用作控制器内的本地 Validator。全局和本地验证器实例可以组合起来提供复合验证。

参考:https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-config-validation https://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-config-validation

但是存在差异,其中之一是例如,如果您需要使用group在您的验证注释中,您需要使用@Validated,不支持@Valid.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring Boot Rest API @RequestBody 中的 @Valid 与 @Validated [重复] 的相关文章

随机推荐

  • 尝试访问 Delphi 7 中的 Excel 表时的提供程序选择

    我正在尝试使用 TAdoConnection 组件从 Delphi 7 连接到 Excel 表 问题是当我选择 Microsoft Jet OLEDB 4 0 Extended Properties Excel 8 0 时 我有时会收到错误
  • 当表单有滚动条时,控件位置是否相对于表单的可见区域?

    我有一个 VB NET 窗体 可以动态创建一组控件 如果窗体上的控件太多而无法查看 窗体将显示滚动条 这是一个自动滚动表单 用户可以向下滚动并单击按钮 这会导致表单发生巨大变化 它会销毁所有控件并根据用户输入绘制新控件 我注意到 如果用户滚
  • Hibernate 标准/对象属性查询

    我有课AppUser class AppUser private String firstName private String lastName getters and setters 我还有另一堂课Student class Stude
  • 表格行分成两页(打印媒体)

    I have a table which is OK in web pages but when printing my table ctrl p it breaks not the way I want The last row of t
  • Jira 和 git:如何反映所有分支?

    使用 git Fisheye Crucible 和 Jira 4 2 的开发基础架构 自我们在 Jira 中配置映射以来 对 Fisheye 注册存储库的提交反映在 Jira 项目和票证中 然而 似乎只有主分支上的提交才会被反映 在 Cru
  • YouTube 数据 API 返回不一致且重复的结果

    关于 YouTube 数据 API 结果不一致的问题有很多 1 https stackoverflow com questions 50516796 inconsistent results from youtube data api an
  • 什么是圈复杂度?

    我时常看到的一个术语是 环复杂度 在这里 我看到了一些关于 如何计算 X 语言的 CC 或 如何用最少的 CC 来完成 Y 的问题 但我不确定我是否真的理解它是什么 On the NDepend 网站 http www ndepend co
  • React 中的 useCallback 是什么以及何时使用它?

    我已经阅读了几篇关于useCallback and useMemo关于何时使用和何时不使用 但我大多看到过contrived代码 我在查看我公司的代码时发现有人这样做了 const takePhoto useCallback gt laun
  • 在空心方形层内生成随机均匀分布点的 Pythonic 方法

    假设我们有一个尺寸为 n 的空心方形薄片 也就是说 我们有一个 nxn 正方形 其中删除了 k l 矩形 1 我为 numpy 编写了这段代码 但它至少有 2 个问题 我必须丢弃大约 1 9 的所有生成点 并且删除 numpy array
  • 如何将 C 静态库公开到 .Net?

    将 C 函数公开给 C 和 Net 有哪些步骤 我想在 C C 和 Net 中为 32 位和 64 位构建使用相同的函数名称 我发布这个问题和答案是因为我没有在任何地方找到这些技术的记录 步骤是 将 C 函数公开为 C 静态库 lib Us
  • 将所有 PHP 错误输出到数据库而不是 error_log

    是否可以将所有 PHP 错误写入 MySQL 而不是标准的 error log 文件 我想如果我从头开始编写自己的错误处理程序 这是可能的 但我有很多遗留代码 理想情况下我只需进行 1 个全局更改即可 这可以做到吗 我认为如果不构建自己的错
  • 在托管代码中,如何实现良好的引用局部性?

    由于RAM似乎是新磁盘 http www infoq com news 2008 06 ram is disk 并且由于该声明还意味着现在对内存的访问被认为是缓慢的 类似于磁盘访问一直以来的情况 因此我确实希望最大化高性能应用程序的内存中的
  • 用于添加外部链接的 Vim 插件

    现在 这可能是显而易见的事情 已经解决并为每个人所知 但我只是想到了它 所以怜悯 Is there a Vim plugin for when writing markdown texts that enables you to inser
  • python 线程:内存模型和可见性

    python 线程是否会像 Java 一样暴露内存可见性和语句重新排序的问题 由于我找不到任何对 Python 内存模型 或类似内容的引用 尽管事实上很多人都在编写多线程 Python 代码 但我猜测这些陷阱在这里不存在 不volatile
  • 如何检查用户输入的数字不大于 LLONG_MAX 或低于 LLONG_MIN?

    我想检查用户输入的数字是否大于或小于告知值 我知道关于环礁功能 http en cppreference com w c string byte atoi但它似乎没有特别帮助 基于未定义值的检查看起来不太令人信服 我还知道我可以检查用户输入
  • QML 缩放不适用于非整数缩放因子

    我正在使用 QML 编写一个应用程序 当我按非整数因子缩放 GUI 时遇到麻烦 根据文档 https doc qt io qt 5 highdpi html Qt AA EnableHighDpiScaling应该启用与设备无关的像素 因此
  • HTML5 全屏 Web 应用程序:没有浏览器栏

    我正在为移动设备创建 HTML5 Web 应用程序 并被要求隐藏浏览器导航栏 后退和前进按钮 前面这里有错字 我怎样才能做到这一点 我想我应该能够使用 Phone Gap 来实现这一目标 但我想知道 普通 网络应用程序是否有可能隐藏浏览器栏
  • gitignore 中的文件

    我在生产服务器中有一个带有 Rails 应用程序的存储库 在存储库中有 gitignore 文件 config database yaml 每个开发客户端都有一个具有不同 config database yaml 的克隆存储库 我的问题是这
  • 有谁知道有一个很好的库可以将一个人的名字映射到他或她的性别吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找一个图书馆或数据库 可以根据一个人的名字或昵称猜测他或她是男性还是女性 就像是 john gt M mary gt F al
  • Spring Boot Rest API @RequestBody 中的 @Valid 与 @Validated [重复]

    这个问题在这里已经有答案了 我拥有开发 REST API 的 NET 背景 现在使用 spring boot 从事 java REST 项目 首先 我在控制器 RequestBody 上的验证停止工作 在尝试修复它时 我看到了不同的实施方法