小编Hen*_*ien的帖子

针对 swagger 文件验证 json 有效负载 - json-schema-validator

我正在尝试针对包含服务协议的 swagger 文件验证 json 有效负载。我正在使用 json-schema-validator(2.1.7) 库来实现这一点,但目前它没有针对指定的模式或最小/最大长度进行验证。

Java代码:

public void validateJsonData(final String jsonData) throws IOException, ProcessingException {

    ClassLoader classLoader = getClass().getClassLoader();
    File jsonSchemaFile = new File (classLoader.getResource("coachingStatusUpdate.json").getFile());

    String jsonSchema = new String(Files.readAllBytes(jsonSchemaFile.toPath()));

    final JsonNode dataNode = JsonLoader.fromString(jsonData);
    final JsonNode schemaNode = JsonLoader.fromString(jsonSchema);

    final JsonSchemaFactory factory = JsonSchemaFactory.byDefault();
    JsonValidator jsonValidator = factory.getValidator();

    ProcessingReport report = jsonValidator.validate(schemaNode, dataNode);
    System.out.println(report);
    if (!report.toString().contains("success")) {
        throw new ProcessingException (
                report.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在发送的消息

{
  "a": "b",
  "c": "d",
  "e": -1,
  "f": "2018-10-30",
  "g": "string" } …
Run Code Online (Sandbox Code Playgroud)

java json jsonschema swagger json-schema-validator

6
推荐指数
2
解决办法
8204
查看次数

标签 统计

java ×1

json ×1

json-schema-validator ×1

jsonschema ×1

swagger ×1