根据 Java 中的 Swagger 定义验证 JSON 消息

2023-12-10

我使用 Swagger 定义创建了一个 REST API,现在我需要使用该 swagger 架构验证传入消息。我找到了几种解决方案,但它们都依赖于某些特定的用例。最接近我需要的是this正如它的描述所示,它与提供的 json 模式配合得很好,但是当我提供更复杂的 swagger 定义时,它只是将所有内容标记为有效。我的问题是。是否有更好、更完整或更有效的解决方案(也许是库)可以根据 Swagger 定义本机验证给定的 JSON 消息?我需要这个,因为我正在实施 WSO2 API REST 解决方案,这将有很大帮助。


看看我的回答这里有一个解决方案:

根据 swagger 文件验证 json 负载 - json-schema-validator

它基于使用该库:https://github.com/bjansen/swagger-schema-validator。它允许根据 swagger 模式中包含的定义检查 json。

try (InputStream inputStream = schemaLocation.getInputStream()) {
            SwaggerValidator validator = SwaggerValidator.forJsonSchema(new InputStreamReader(inputStream));
            ProcessingReport report = validator.validate(message, "/definitions/Pet");
            return report.isSuccess();
        } catch (IOException e) {
            logger.error("IOException", e);
            return false;
        } catch (ProcessingException e) {
            e.printStackTrace();
            return false;
        }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据 Java 中的 Swagger 定义验证 JSON 消息 的相关文章

随机推荐