class XXXXXCreateRequest( @get:Size(min=1,max=20) @Schema(required = true) @get:JsonProperty("shopIds", required = true) val shopIds: kotlin.collections.List<kotlin.Long>, @get:Min(0) @get:Max(100) @Schema(required = true) @get:JsonProperty("commissionRate", required = true) val commissionRate: kotlin.Int, @get:Min(0L) @get:Max(10000000L) @Schema(required = true) @get:JsonProperty("budget", required = true) val budget: kotlin.Long, ) @Validated interface XXXXXApi { @RequestMapping( method = [RequestMethod.POST], value = [“/v1/path/to/api”], produces = ["application/json"], consumes = ["application/json"] ) fun xxxxxCreate( @Parameter(required = true) @Valid @RequestBody request: XXXXXCreateRequest ): ResponseEntity<XXXXXXCreateResponse> } @RestController class XXXXXController( private val xxxxxUseCase: XXXXXCreateUseCase, ) : XXXXXApi { override fun xxxxxCreate( request: XXXXXCreateRequest, ): ResponseEntity<XXXXXXCreateResponse> { xxxxxUseCase.create( shopIds = request.shopIds.map { ShopId(value = it) }.toList(), commissionRate = request.commissionRate, budget = request.budgetAmount, ) return ResponseEntity.ok().body(CampaignsCreateResponse( … )) } }