我使用 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(使用前将#替换为@)