下面的 swagger 定义:
swagger: '2.0'
host: example.com
paths:
/theResource:
get:
parameters:
- $ref: '#/parameters/fields'
parameters:
fields:
name: fields
description: Fields to return
in: query
type: array
collectionFormat: multi
uniqueItems: true
items:
type: string
enum:
- column1
- column2
- column3
会生成如下URL,服务器只会接收到等于column3
的fields
。
http://example.com/theResource?fields=column1&fields=column2&fields=column3
如何更改它以便它在参数中发送一个数组?例如:
http://example.com/theResource?fields[]=column1&fields[]=column2&fields[]=column3
最佳答案
在 PHP 中你可以使用 http_build_query ,这将为您构建正确的 URL 查询部分。
<?php
$query = http_build_query([
'fields' => [
'one', 'two', 'three'
],
]);
$url = "https://example.com/?".$query;
是的,fields[]
语法应该可以解决问题。
关于php - 使用 Swagger/OpenAPI 规范指定要作为 GET 参数发送的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39795367/