openapi - 查询中的索引数组
问题描述
我正在努力为必须作为整数索引数组的字段编写参数注释:
voucher_products[0]: 23
voucher_products[1]: 102
voucher_products[2]: 233
我尝试了以下
* @OA\Parameter(
* name="voucher_products",
* in="query",
* description="",
* required=false,
* @OA\Schema(
* type="array",
* @OA\Items(
* type="integer",
* )
* )
* ),
我这样填写表格: 表格
我在查询字符串参数中得到的结果是
voucher_products: 23
voucher_products: 102
voucher_products: 233
如果我在 $_POST 中检查这个字段,它的最终值为voucher_products=233
,因为它不会变成一个数组。
我究竟做错了什么?
解决方案
OpenAPI 规范目前没有办法表示包含索引数组的查询字符串,例如
?arr[0]=val1&arr[1]=val2&arr[2]=val3&...
以下是 OpenAPI 规范存储库中的相关问题:
查询参数数组中的索引是否可表示?
支持 deepObject 样式的查询参数的深层对象
但是,如果您的 API 可以接受只有方括号但没有索引的数组
?voucher_products[]=23&voucher_products[]=102&voucher_products[]=233
然后你可以将它定义为一个参数name="voucher_products[]"
。
推荐阅读
- javascript - 使用 CognitoUser (npm: amazon-cognito-identity-js) 仅验证“代码”
- python - 使用 Flask 传输文件时如何避免解码
- php - InfluxDB 2.0 被 OOM 杀死
- firebase - Firebase 实时数据库规则 - 如何为新用户设置数据?
- python - 如何通过添加一个常数值来查找列表中数字的累积和?
- powerbi - 什么会使 Tableau 报表转换为 Power BI 变得困难?
- vscode-settings - VS Code“转到定义”不存在 - Javascript
- css - CSS 网格高度到一个子元素,而另一个子元素滚动
- javascript - 如何在子组件的 UseEffect 中使用道具?
- javascript - PL/Python 与 PostgreSQL - 错误 DLL 导入