当前位置: 首页 > 知识库问答 >
问题:

@Valid之间的关系

商正诚
2023-03-14

感谢(在Spring中使用@Valid vs@Validated)以及在Spring中使用@Valid和@Validated之间的差异。我现在明白他们之间的区别了。

然而,我无法理解特定的场景。

我在控制器endpoint中接收到一个整数,我想使用JSR-303进行验证(我只会使用最小值(1)),以确保得到一个整数

困惑-在我将@Validated放在控制器类上,尝试@Valid后,设置才起作用,但没有起作用。只是想弄明白为什么需要它?当我验证带有注释@Valid的pojo时,我不会被迫在类上使用已验证的pojo。我在Spring文档中看到了已验证的

JSR-303的javax变体。验证。有效,支持验证组的规范。设计用于方便使用Spring的JSR-303支持,但不是特定于JSR-303。

但是我无法建立@Min和类级别@Valated注释之间的关系。非常感谢任何帮助,如果我无法清楚地提出我的问题,也请原谅。欢迎任何编辑或建议。

下面是我的例子-

@RestController
@Validated
public class PrimeController {

...

@GetMapping("/is-prime/{number}")
    public ObjectNode checkPrime( @Min(1) @PathVariable Integer number) {
        return primeHandler.getPrimalityResult(number);
    }

共有1个答案

司寇旺
2023-03-14

在ModelAttribute或RequestBody上有效的由DispatcherServlet(或更准确的是Spring MVC RequestMappingHandlerAdapter)处理,它最终将此委托给内置的ModelAttributeMethodProcessor或RequestResponseBodyMethodProcessor)。

添加纯javax时。验证方法参数的注释(无论这是否是控制器),必须使用验证对此类进行注释,以便使用AOP可以应用方法验证接收器。它们是应用验证的不同机制。

 类似资料:
  • 问题内容: Spring支持两种不同的验证方法:Spring验证和JSR-303 bean验证。可以通过定义一个Spring验证程序来使用这两个验证程序,该验证程序委派给其他委托程序,包括bean验证程序。到目前为止,一切都很好。 但是,在注释方法以实际请求验证时,则是另一回事了。我可以这样注释 或像这样 在这里,@Valid是javax.validation.Valid,@ Validated是

  • 问题内容: SciPy似乎在其自己的名称空间中提供了NumPy的大多数(但不是全部[1])功能。换句话说,如果有一个名为的函数,几乎可以肯定有一个。在大多数情况下,两者看起来是完全相同的,甚至有时指向相同的功能对象。 有时,它们是不同的。举一个最近出现的例子: 是一个ufunc该返回的NaN为负参数; 返回负参数的复杂值,并且似乎不是ufunc。 同样可以说,大约,和,但不是关于[2]。 另一方面

  • 目前,我的POC不使用,而是使用和。看起来就足够了。现在,我不知道应该如何处理我现有的,它在我的Spring MVC REST应用程序中工作得很好。

  • 模型(Model)之间存在各种各样的关系,如:一对一(One-To-One )、一对多(One-To-Many)等。模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中表之间主/外键约束的创建。查询时也可以基于这些关系,生成在数据库中执行的连接查询或复合查询SQL语句。 关系/关联的使用 1.1 一对一(One-To-One)关联 1.2 一对多(One-To-Ma

  • 问题内容: 即使阅读了很多书,我仍然对 CommonJS,AMD 和 RequireJS 感到非常困惑。 我知道 CommonJS (以前称为 ServerJS )是用于在浏览器之外使用该语言时定义一些 JavaScript 规范(即模块)的组。 CommonJS 模块规范具有一些实现,例如 Node.js 或 RingoJS ,对吗? CommonJS , 异步模块定义 (AMD)和 Requi

  • 度量可以度量一些有用的领域,但是有什么区别和联系呢?