
原文網(wǎng)址SpringBoot--解決Valid放在接口的List上時無效的問題_IT利刃出鞘的博客-CSDN博客簡介本文介紹如何解決Valid放在Controller的List類型的參數(shù)上時校驗無效的問題。問題復現(xiàn)Controllerpackage com.example.demo.business.validAndValidated.controller; import com.example.demo.business.validAndValidated.entity.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.List; Api(tags valid結(jié)合validated接口) RestController RequestMapping(validAndValidated) public class ValidAndValidatedController { /** * 如果入?yún)⑹荓ist類型則必須是RequestBody否則會報錯 */ ApiOperation(校驗List) PostMapping(validateList) public ListUser validateList(RequestBody Valid ListUser users) { return users; } }Entitypackage com.example.demo.business.validAndValidated.entity; import lombok.Data; import javax.validation.Valid; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; Data public class User { NotBlank(message 名字不能為空) private String name; private Integer age; Valid NotNull(message 賬戶不能為null) private Account account; }package com.example.demo.business.validAndValidated.entity; import lombok.Data; import javax.validation.constraints.NotBlank; Data public class Account { NotBlank(message 電話號碼不能為空) private String phoneNumber; }測試從下圖可以看到校驗并沒有生效。原因分析Valid只能校驗Java Bean而ListE不是JavaBean所以校驗會失敗。解決方案上邊是文章的部分內(nèi)容為便于維護全文已轉(zhuǎn)移到此網(wǎng)址SpringBoot-解決Valid放在接口的List上時無效的問題 - 自學精靈