2

このオープン API アノテーションがあります

    @GET
    @Operation(method = "Get orders", description = "GetOrdersRoute",
            parameters = {
                    @Parameter(in = ParameterIn.QUERY, name = "batchSize", required = true,
                            schema = @Schema(type = "")),
                    @Parameter(in = ParameterIn.QUERY, name = "fromDate", required = true),
                    @Parameter(in = ParameterIn.QUERY, name = "filter", required = true)},
            responses = {
                    @ApiResponse(description = "The order",
                            content = @Content(mediaType = "application/json",
                                    schema = @Schema(implementation = OrderDto.class)))})
    @Override
    public String handle(@Parameter(hidden = true) Request request, @Parameter(hidden = true) Response response) {
        return api.exec();
    }

できます。しかし、例外が発生するように@Parameter任意@Schemaの値に追加すると、次のようになります。schema = @Schema(type = "integer"))

java.lang.NoSuchMethodError: org.apache.commons.lang3.math.NumberUtils.isCreatable(Ljava/lang/String;)Z

つまり @Schema(type = ""))、正常に動作しますが、 @Schema(type = "integer"))動作しません。

注釈のtypeパラメーターだけではありません。@Schemaアノテーションのオーバーライド パラメーターは、 @Schemaこの例外をスローします。

しかし@Schema@ApiResponseどのオーバーライド パラメータでも問題なく動作します。

4

1 に答える 1