我有一个POST方法的控制器:
@RestController
@RequestMapping(value = "/creditDetails", produces = MediaType.APPLICATION_JSON_VALUE)
@RequiredArgsConstructor
@Validated
public class CreditDetailsController {
@ResponseStatus(HttpStatus.CREATED)
@PostMapping(consumes = MediaType.APPLICATION_JSON_VALUE)
public CreditDetailsResponse createCreditDetails(@RequestBody @Valid CreditDetailsRequestWithoutId request) {
return CreditDetailsResponse.convertToResponse(creditDetailsService.createCreditDetails(request));
}
}
字符串
和DTO:
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CreditDetailsRequestWithoutId {
@DecimalMax("10_000_000")
private BigDecimal creditLimit;
@DecimalMin("0")
@DecimalMax("20")
private BigDecimal creditPercent;
private UUID bankId;
}
型
当我传递CreditDetailsWithoutId示例时,我没有得到任何错误。为什么我的验证不起作用?如果有关系,我使用
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
<version>2.6.3</version>
</dependency>
型
的数据
4条答案
按热度按时间bweufnob1#
尝试将十进制值传递给@DecimalMin,@DecimalMax,:
字符串
**后来编辑:**删除@Data并添加基本的getter和setter修复了我这边的问题,希望它能工作。
型
mbjcgjjk2#
我刚刚调用了
maven clean install
并开始验证yh2wf1be3#
我的工作是:
pom.xml:
字符串
控制器:
型
Dto:
型
完全@验证
ffx8fchx4#
你必须在你的控制器类中添加EexceptionError:
字符串