我知道有一种工具可以进行在线验证:
http://online.swagger.io/validator?url=http://petstore.swagger.io/v2/swagger.json
我正在编写一个JUnit
测试,用于验证项目的swagger.json
文件。重要的是,此验证可以离线完成,因为测试运行为localhost
,并且验证工具无法访问本地主机服务器。
那么,可以离线验证Swagger 2.0 JSON文件吗?
答案 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();
}
// [...]
}
希望这有帮助。