Swagger 2.0中的JSON对象的模式types是什么?

我在Swagger 2.0的帮助下编写了一个API文档。 我已经生成了一个API,其中响应是在数组的书,这是正常工作。

[{ "id": 1, "book_name": "The Complete Reference Java8", "author": "Herbert Schidt", "genre": "Technology" }, { "id": 2, "book_name": "C Programming", "author": "Dennis Ritchie", "genre": "Technology" }] 

昂首阔步

 /fetchBooks: get: description: | Returns an array of book objects. responses: 200: description: Successful response schema: title: ArrayOfBooks type: array items: type: object properties: id: type: integer book_name: type: string author: type: string genre: type: string 

那么,我想在JSONObject一个API中只发送一个书的详细信息我应该采取什么模式types,因为我试过对象不工作。

 { "id": 1, "book_name": "The Complete Reference Java8", "author": "Herbert Schidt", "genre": "Technology" } 

昂首阔步

 /fetchBook: get: description: | Returns a book object parameters: - name: id in: query description: Books Id's reqrequired: true type: integer format: int responses: 200: description: Successful response schema: type: object <-- What type should I specify for JSONObject here items: type: object properties: id: type: integer book_name: type: string author: type: string genre: type: string 

由于对象不工作,招摇并不显示JSON格式。

当前状态 :

在这里输入图像描述

预期状态:

在这里输入图像描述

  /fetchBook: get: description: | Returns a book object parameters: - name: id in: query description: Books Id's required: true type: integer format: int responses: '200': description: Successful response schema: type: object properties: id: type: integer book_name: type: string author: type: string genre: type: string 

你所遇到的问题是在所要求的领域有一个错字

休耕是单个对象响应的正确语法

提示:如果要在多个操作中重复使用相同的模式(例如,具有单个BookArrayOfBooks ,则可以在definitions部分中定义模式,并在其他位置使用$ref

 paths: /fetchBooks: get: ... responses: 200: description: Successful response schema: $ref: '#/definitions/ArrayOfBooks' # <-------- /fetchBook: get: ... responses: 200: description: Successful response schema: $ref: '#/definitions/Book' # <-------- definitions: Book: type: object properties: id: type: integer book_name: type: string author: type: string genre: type: string ArrayOfBooks: type: array items: $ref: '#/definitions/Book' # <-------- 

另外,如果这是一个正在开发的新API而不是现有的API, GET /fetchBooks “fetch”是多余的(GET = fetch)。 考虑删除“获取”,只使用GET /booksGET /book?id=...