У меня есть следующие потребности:
Ввод - это объект JSON, полученный из очереди сообщений (или Kafka)
Мне нужно, чтобы проверить вышеупомянутое сообщение JSON против спецификации чванства. Я не могу найти какое-либо надежное решение для преобразования swagger в JSON-схему, и поэтому я решил посмотреть, можно ли использовать com.atlassian.oai.validator для достижения этой цели.
Однако проблема заключается в том, что, просто используя основной валидатор, мы вынуждены формулировать запрос / ответ в строгом смысле, но все, что мне нужно, это схема JSON, такая как валидация (прежде всего структура JSON, содержимое данных и т. Д.). Я не знаю, как добиться этого с помощью этого валидатора?
Пример кода приведен ниже:
private static final String SWAGGER_JSON_URL = "http://petstore.swagger.io/v2/swagger.json";
String inputJSON = "{"
+ " \"id\": 1,"
+ " \"category\": {"
+ " \"id\": 0,"
+ " \"name\": \"string\""
+ " },"
+ " \"name\": \"doggie\","
+ " \"photoUrls\": ["
+ " \"string\""
+ " ],"
+ " \"tags\": ["
+ " {"
+ " \"id\": 2,"
+ " \"name\": \"string\""
+ " }"
+ " ],"
+ " \"status\": \"available\""
+ "}";
OpenApiInteractionValidator validator = OpenApiInteractionValidator.createFor(SWAGGER_JSON_URL).build();
Теперь я понятия не имею, как вызвать validator.validate и предоставить inputJSON в качестве параметра?
Я попробовал следующее, создав простой ответ, чтобы посмотреть, поможет ли это, но снова я не нашел способа вызвать метод validateResponse, поскольку он настаивал на многих параметрах, которых у меня нет:
final Response response = SimpleResponse.Builder.ok()
.withContentType("application/json")
.withBody(inputJSON)
.build();
ValidationReport report = validator.validateResponse(response);
Может кто-нибудь помочь мне здесь? Или я использую не ту вещь, чтобы добиться своей нужды? Если есть другое решение для достижения этой цели, пожалуйста, дайте мне знать.
Мир,
Ananth