Swagger 2.0离线验证

时间:2016-03-14 02:35:43

标签: validation offline swagger-2.0

我知道有一种工具可以进行在线验证:

http://online.swagger.io/validator?url=http://petstore.swagger.io/v2/swagger.json

我正在编写一个JUnit测试,用于验证项目的swagger.json文件。重要的是,此验证可以离线完成,因为测试运行为localhost,并且验证工具无法访问本地主机服务器。

那么,可以离线验证Swagger 2.0 JSON文件吗?

3 个答案:

答案 0 :(得分:2)

我对Atlassian的这个Validator非常满意:https://bitbucket.org/atlassian/swagger-request-validator

仍有积极的开发,所以我猜他们也会为OpenAPI 3提供一些东西。

答案 1 :(得分:1)

如果您决定使用Maven来运行测试,我已经创建了一个Maven项目来验证swagger JSON文档。

您可以在此处克隆项目:https://github.com/navidsh/maven.swagger.validator

答案 2 :(得分:0)

好吧,我使用fge/json-schema-validator和杰克逊完成了一个Swagger验证器。它使用Swagger 2.0模式进行验证。

https://gist.github.com/mariosotil/e1219d4e946c643fe0e5

@Singleton
public class SwaggerValidator {

    public ArrayNode validate(JsonNode jsonNode) {
        return Optional.of(jsonNode)
                .map(this::validateWithinSwaggerSchema)
                .map(this::getMessagesAsJsonArray)
                .get();
    }

    // [...]
}

希望这有帮助。