java - Spring 验证请求正文作为字符串

标签 java spring validation spring-mvc endpoint

我的端点的请求正文为String对象,其中包含电话号码:

@PostMapping("/phone-number") 
public Response phoneNumberRequest(@RequestBody @Valid @Pattern(regexp="myRegexp") String phoneNumber) {
...
}

我只有一个请求参数 phoneNumber,因此不需要 JSON 对象。 我需要验证电话号码。但是,当请求正文是简单的 String 对象时,@Valid 注释不适用于 @Pattern(regexp = "myRegexp")。所以我的问题是为什么?在这种情况下如何验证电话号码?

最佳答案

我建议如下:

@PostMapping("{phone-number}")
public Response phoneNumberRequest(
  @PathVariable String phone-number) {

  Boolean valid = phone-number.matches("your-regex");
  ...

}

关于java - Spring 验证请求正文作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61254875/

相关文章:

json - 如何使用 Rust 中的现有模式文件验证 JSON?

c# - MVC3 将多个字段作为单个属性进行验证

java - 如果应用程序有多个模块并且每个模块都是单独的项目,那么在 jboss 和 eclipse 中调试 java 应用程序的最佳方法是什么

java - 输入 block 的哪个副本在映射器中处理?

java - 配置 OSGI Enroute REST 应用程序以允许异步请求

java - Spring Web Flow 中快照和流存储库的最佳文档是什么?

java - 回滚 @Transactional 注释的方法

java - 在 Spring 中解析复杂的 JSON 请求

java - 谁能告诉我为什么我的旧列表包含所有应该只存在于新列表中的值。?

html - 当以编程方式设置字段时,如何触发最小长度验证?