日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
SpringBoot接口對(duì)參數(shù)進(jìn)行校驗(yàn)

在 Spring Boot 中,我們可以使用 Java Bean Validation API(JSR 303)來對(duì)接口參數(shù)進(jìn)行校驗(yàn),該 API 遵循標(biāo)準(zhǔn)的注解格式進(jìn)行參數(shù)校驗(yàn)。

以下是一些常見的注解:

  • @NotNull:校驗(yàn)對(duì)象是否為 null;
  • @Size(min, max):校驗(yàn)字符串的長(zhǎng)度是否在 min 和 max 之間;
  • @Min:校驗(yàn)數(shù)字是否大于等于指定值;
  • @Max:校驗(yàn)數(shù)字是否小于等于指定值;
  • @Email:校驗(yàn)字符串是否符合 Email 格式。

下面是一個(gè)例子,假設(shè)我們有一個(gè)用戶注冊(cè)接口,需要校驗(yàn)用戶名和密碼:

@RestController
public class UserController {

@PostMapping("/register")
public ResponseEntity registerUser(@RequestBody @Valid UserDto userDto) {
// 處理用戶注冊(cè)請(qǐng)求
return ResponseEntity.ok().build();
}

public static class UserDto {
@NotNull
private String username;

@NotNull
@Size(min = 6, max = 20)
private String password;

public String getUsername() {
return username;
}

public void setUsername(String username) {
this.username = username;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}
}
}

在上面的例子中,我們?cè)?UserDto 類上使用了 @Valid 注解,該注解會(huì)告訴 Spring Boot 對(duì)該對(duì)象進(jìn)行校驗(yàn)。在 UserDto 類中,我們使用了 @NotNull 和 @Size 注解對(duì) username 和 password 進(jìn)行校驗(yàn),保證它們不為 null,且 password 的長(zhǎng)度在 6 到 20 之間。

如果校驗(yàn)失敗,Spring Boot 會(huì)拋出MethodArgumentNotValidException 異常,我們可以在 @ExceptionHandler 中捕獲該異常,并返回一個(gè)包含錯(cuò)誤信息的 JSON 響應(yīng),例如:

@RestControllerAdvice
public class GlobalExceptionHandler {

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity handleMethodArgumentNotValidException(MethodArgumentNotValidException ex) {
List errors = ex.getBindingResult()
.getAllErrors()
.stream()
.map(DefaultMessageSourceResolvable::getDefaultMessage)
.collect(Collectors.toList());
return ResponseEntity.badRequest().body(errors);
}
}

在上面的例子中,我們定義了一個(gè)全局異常處理器,并在其中捕獲MethodArgumentNotValidException 異常,將校驗(yàn)失敗的錯(cuò)誤信息封裝成一個(gè)列表并返回。

通過上述方式,我們就可以對(duì)接口參數(shù)進(jìn)行校驗(yàn),并在校驗(yàn)失敗時(shí)返回錯(cuò)誤信息,提高接口的健壯性和可靠性。


網(wǎng)站名稱:SpringBoot接口對(duì)參數(shù)進(jìn)行校驗(yàn)
URL分享:http://www.5511xx.com/article/coccgei.html