Yaml文件中的Swagger验证失败

时间:2016-02-19 11:34:02

标签: node.js yaml swagger swagger-ui

我有一个像这样的摇摇欲坠的yaml规范:

swagger: "2.0"
info:
  version: "0.0.1"
  title: Chat API
# during dev, should point to your local machine
host: localhost:5000
# basePath prefixes all resource paths 
basePath: /api/v2
# 
schemes:
  # tip: remove http to make production-grade
  - http
  - https
# format of bodies a client can send (Content-Type)
consumes:
  - application/json
# format of the responses to the client (Accepts)
produces:
  - application/json
paths:
  /room:
    post:
      summary: Get room
      operationId: getRoom
      tags:
        - room
      parameters: 
          -
            name: token
            in: header
            description: "token to be passed as a header"
            default: "ZjE4YjMxNmY3OGEzNDMyN2JiYjJmYTQwMDBjODg4OWM="
            required: true

          -
            name: room_id
            in: body
            description: "get room"
            required: true
            schema:
              $ref: "#/definitions/Room" 

definitions:
  Room:
    required:
      - room_id
    properties:
      room_id:
        type: string

这个yaml文件编译得很好,没有标题部分。如果我在参数中包含标题。 nodejs app继续抛出:“Swagger验证错误”

-
        name: token
        in: header
        description: "token to be passed as a header"
        default: "ZjE4YjMxNmY3OGEzNDMyN2JiYjJmYTQwMDBjODg4OWM="
        required: true

我不知道这部分有什么问题。我想将标题添加到此spec文件中。

1 个答案:

答案 0 :(得分:3)

您只需添加type属性即可。 Swagger不知道这是一个字符串,一个整数等等(虽然可以说default解释了它。)

- name: token
  in: header
  description: "token to be passed as a header"
  default: "ZjE4YjMxNmY3OGEzNDMyN2JiYjJmYTQwMDBjODg4OWM="
  required: true
  type: string