Fix validation constraints for parameters in request body of form request are not generated (at least with Spring Boot generator) (#21749)

* fix(Spring Boot): adds validation to body params of forms requests

* fix(Spring Boot): adds test for validation of body params of forms requests

* fix(Spring Boot): adds samples
This commit is contained in:
Oliver Kuntze
2025-08-23 09:58:46 +02:00
committed by GitHub
parent 66c2a287cc
commit cd7fe341d3
22 changed files with 216 additions and 148 deletions

View File

@@ -327,19 +327,19 @@ public interface FakeApi {
)
default ResponseEntity<Void> testEndpointParameters(
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "number", required = true) BigDecimal number,
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "double", required = true) Double _double,
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter,
@ApiParam(value = "None", required = true) @DecimalMin("32.1") @DecimalMax("543.2") @Valid @RequestParam(value = "number", required = true) BigDecimal number,
@ApiParam(value = "None", required = true) @DecimalMin("67.8") @DecimalMax("123.4") @Valid @RequestParam(value = "double", required = true) Double _double,
@ApiParam(value = "None", required = true) @Pattern(regexp = "^[A-Z].*") @Valid @RequestParam(value = "pattern_without_delimiter", required = true) String patternWithoutDelimiter,
@ApiParam(value = "None", required = true) @Valid @RequestParam(value = "byte", required = true) byte[] _byte,
@ApiParam(value = "None") @Valid @RequestParam(value = "integer", required = false) Integer integer,
@ApiParam(value = "None") @Valid @RequestParam(value = "int32", required = false) Integer int32,
@ApiParam(value = "None") @Min(10) @Max(100) @Valid @RequestParam(value = "integer", required = false) Integer integer,
@ApiParam(value = "None") @Min(20) @Max(200) @Valid @RequestParam(value = "int32", required = false) Integer int32,
@ApiParam(value = "None") @Valid @RequestParam(value = "int64", required = false) Long int64,
@ApiParam(value = "None") @Valid @RequestParam(value = "float", required = false) Float _float,
@ApiParam(value = "None") @Valid @RequestParam(value = "string", required = false) String string,
@ApiParam(value = "None") @DecimalMax("987.6") @Valid @RequestParam(value = "float", required = false) Float _float,
@ApiParam(value = "None") @Pattern(regexp = "/[a-z]/i") @Valid @RequestParam(value = "string", required = false) String string,
@ApiParam(value = "None") @RequestPart(value = "binary", required = false) MultipartFile binary,
@ApiParam(value = "None") @Valid @RequestParam(value = "date", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date,
@ApiParam(value = "None") @Valid @RequestParam(value = "dateTime", required = false) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) OffsetDateTime dateTime,
@ApiParam(value = "None") @Valid @RequestParam(value = "password", required = false) String password,
@ApiParam(value = "None") @Size(min = 10, max = 64) @Valid @RequestParam(value = "password", required = false) String password,
@ApiParam(value = "None") @Valid @RequestParam(value = "callback", required = false) String paramCallback
) {
return getDelegate().testEndpointParameters(number, _double, patternWithoutDelimiter, _byte, integer, int32, int64, _float, string, binary, date, dateTime, password, paramCallback);