我在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"
}]
Swagger
/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
好吧,我想在一个API中只发送一个书的详细信息 JSONObject
我应该采用什么模式类型,因为我试过对象不起作用 .
{
"id": 1,
"book_name": "The Complete Reference Java8",
"author": "Herbert Schidt",
"genre": "Technology"
}
Swagger
/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
由于对象不起作用,swagger没有显示 JSON
格式 .
当前状态 :
预期国家:
2 回答
你遇到的问题是在所要求的档案中输错
并且fallowing是单个Object响应的正确语法
提示:如果要在多个操作中重用相同的模式 - 例如有一个
Book
和ArrayOfBooks
,你可以在definitions
部分定义模式,在其他地方定义$ref
.此外,如果这是正在开发的新API而不是现有API,则
GET /fetchBooks
中的"fetch"是冗余的(GET = fetch) . 考虑删除"fetch"并仅使用GET /books
和GET /book?id=...
.