Validating JSON messages against Swagger definition in Java

后端 未结 2 459
逝去的感伤
逝去的感伤 2020-12-21 14:50

I created a REST API using a Swagger definition, now I need to validate incoming messages using that swagger schema. I found several solutions however all of them rely on so

相关标签:
2条回答
  • 2020-12-21 15:07

    Have a look at my answer here with a solution for this:

    Validating json payload against swagger file - json-schema-validator

    It's based on using the library: https://github.com/bjansen/swagger-schema-validator. It allows to check your json against the definitions contained in the swagger schema.

    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;
            }
    
    0 讨论(0)
  • 2020-12-21 15:32

    There is the swagger-request-validator having several adapters for various frameworks, e.g.: Spring Web MVC

    It is capable of validating requests and / or responses against Swagger / OpenAPI 2 or OpenAPI 3 schemes.

    It doesn't simply validate the defined JSON body. It validates the rest of the request, too, like path (variables), headers, etc.

    The validator is capable of i18n.

    Up until now the most complete validation against Swagger and OpenAPI in Java.

    0 讨论(0)
提交回复
热议问题