验证一个招摇

时间:2017-10-10 06:31:29

标签: java swagger swagger-2.0

我正在尝试验证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并没有告诉我这些问题。

1 个答案:

答案 0 :(得分:0)

我在您的文件中运行Swagger 2.0而没有任何其他依赖项。它没有任何错误,这是实现:

Swagger20Parser swaggerParser = new Swagger20Parser();