【发布时间】:2020-07-29 23:11:10
【问题描述】:
我有一个请求主体为Stringobject 的端点,其中包含一个电话号码:
@PostMapping("/phone-number")
public Response phoneNumberRequest(@RequestBody @Valid @Pattern(regexp="myRegexp") String phoneNumber) {
...
}
我只有一个请求参数phoneNumber,所以我不需要 JSON 对象。
我需要验证电话号码。但是当请求主体是简单的String 对象时,@Valid 注释不适用于@Pattern(regexp = "myRegexp")。所以我的问题是为什么?在这种情况下如何验证电话号码?
【问题讨论】:
-
json 中的请求正文是什么?可能是你应该创建一个请求正文类并使用@Valid 来验证在 requestbody 之前使用
-
你需要使用
@Valid注解,而就@Pattern而言,你可以使用@Pattern(regexp = "YOUR_REGEX") -
我只有一个请求参数
phoneNumber,所以我不需要json对象。当请求主体是简单的String对象时,@Valid注释不适用于@Pattern(regexp = "YOUR_REGEX")。所以我的问题是为什么?在这种情况下如何验证电话号码?
标签: java spring validation spring-mvc endpoint