我正在尝试验证swagger文件(实际上是我的gradle构建的一部分)。 我已经尝试过使用swagger-parser,但是虽然这样做并且如果swagger根本不解析就会出错,但它似乎没有像http://editor.swagger.io/#/那样捕获问题。 (这就是我要找的)
当然,这是一个很常见的问题,必须有办法做到这一点吗?
我尝试了什么:
build.gradle:
<title><?php echo $title; ?> </title>
一个简单的招摇,有一些明显的问题:
compile("io.swagger:swagger-parser:1.0.31")
一个简单的类来测试它(最终意图将其移动到gradle):
swagger: '2.0'
info:
description: 'This is a sample server Petstore server.'
version: 1.0.0
title: Swagger Petstore
termsOfService: http://swagger.io/terms/
contact:
email: apiteam@swagger.io
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
host: petstore.swagger.io
basePath: /v2
paths:
/pet:
post:
tags:
- pet
summary: Add a new pet to the store
description: ''
operationId: addPet
parameters:
- in: body
name: body
description: Pet object that needs to be added to the store
required: true
schema:
type: '#/definitions/Pet'
responses:
'405':
description: Invalid input
security:
- petstore_auth:
- write:pets
- read:pets
definitions:
Category:
type: petObject
properties:
id:
type: integer
format: int64
name:
type: string
xml:
name: Category
Pet:
type: object
required:
- name
- photoUrls
properties:
id:
type: integer
format: int64
category:
$ref: '#/definitions/Category'
name:
type: string
example: doggie
xml:
name: Pet
上面的招摇有很多问题,正如你在http://editor.swagger.io/中看到的那样,但是,swagger-parser并没有告诉我这些问题。
答案 0 :(得分:0)
我在您的文件中运行Swagger 2.0而没有任何其他依赖项。它没有任何错误,这是实现:
Swagger20Parser swaggerParser = new Swagger20Parser();