fra*_*397 8 node.js express swagger openapi
我目前给出了以下代码来获取一组值作为查询参数(在 Node-express、nodejs v14.17 和 OpenAPI 版本 3.0.1 中),
- name: abcd
description: abcd
in: query
required: false
schema:
type: array
items:
type: string
Run Code Online (Sandbox Code Playgroud)
object但仅当至少有两个值时,它才会将请求作为值数组(类型为)发送。对于单个值,类型是string。如何始终将 req 作为数组本身获取?
例如,如果我给出一个值
“Hello”,
console.log(typeof(req.query["abcd"]),req.query["abcd"])
O/P:string Hello
但如果我给出“Hello”和“World”,
O/P:object ['Hello','World']
Hel*_*len 21
正如这个答案所解释的,当查询参数传递单个值时,例如?abcd=hello,Express 将其解析为常规值(即字符串)而不是数组。
要传递一值数组,需要[]在查询参数名称末尾追加,即?abcd[]=hello。这意味着您需要更改 OpenAPI 文件中的参数名称:
- name: abcd[] # <------------
description: abcd
in: query
required: false
schema:
type: array
items:
type: string
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18003 次 |
| 最近记录: |