Vertx отключить проверку схемы JSON для конечной точки OpenAPI с помощью RouterBuilder

json #validation #openapi #vert.x

#json #проверка #openapi #vert.x

Вопрос:

мы настраиваем нашу конечную точку HTTP с помощью vert.x, используя RouterBuilder с существующей спецификацией OpenAPI. Что касается десериализации данных, используется avro-json (openapi генерируется из схемы avro), проверка данных полезной нагрузки JSON не должна применяться vert.x, поскольку правильная интерпретация и проверка должны выполняться только во время десериализации avro.

Я нашел https://vertx.io/docs/vertx-web-validation/java/#_without_vert_x_web_validation это, но не сработало, и я не уверен, подходит ли это также для функциональности RouterBuilder.

https://vertx.io/docs/vertx-web-openapi/java/#_routerbuilder кажется, это более подходит:

Vert.x OpenAPI монтирует для вас правильный обработчик ValidationHandler, чтобы вы могли получить доступ к параметрам запроса и телу запроса. Обратитесь к документации по веб-проверке Vert.x, чтобы узнать, как получить параметры запроса и тело запроса, а также как управлять сбоями проверки

Но также не работает для меня — вероятно, применяется неправильно

Есть идеи, как я могу отключить проверку json? Это вызов POST

 RouterBuilder.create(vertx, pathToMyOpenApi)
      .onSuccess(routerBuilder -> {
        routerBuilder
            .operation("operation")
            .handler(this::operationHandler);

        SchemaRouter schemaRouter = SchemaRouter.create(this.vertx, new SchemaRouterOptions());
        var dummy = MyDummyValidator.create(schemaRouter);

        var router = routerBuilder.createRouter();
        router.get().handler(
            ValidationHandler.builder(dummy).build()
        );

        var subRouter = apiRouter.mountSubRouter("/path", router);

});
 

Заранее спасибо