Указание массива для отправки в качестве параметра GET с использованием спецификации Swagger / OpenAPI

Следующее определение чванства:

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, а сервер получит только fields равно column3,

http://example.com/theResource?fields=column1&fields=column2&fields=column3

Как мне изменить его, чтобы он отправлял массив в параметре? Например:

http://example.com/theResource?fields[]=column1&fields[]=column2&fields[]=column3

1

Решение

В PHP вы можете использовать http_build_query, это создаст правильную часть запроса URL для вас.

<?php

$query = http_build_query([
'fields' => [
'one', 'two', 'three'
],
]);

$url = "https://example.com/?".$query;

И да, fields[] синтаксис должен сделать свое дело.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]