Przekazanie listy wartości jako przykład

0

Hej.

W jaki sposób we właściwościach swaggera przekazać jako przykładową wartość tablicę obiektów?

Mam w API pole które przyjmuje tablicę wartości:

   /**
     * @SWG\Property(type="array", @SWG\Items(type="string", example ="1A"))
     */
    public array $ids;

W swaggerze poprawnie pokazuje mi się:
screenshot-20221011135413.png
Za to w żaden sposób nie mogę doprowadzić do tego, żeby przykładowa wartość wyglądała tak:

{
  "ids": [
    "1A",
    "1B"
  ]
}

Podpowiecie jak to zrobić?

0

type="array", example = ["1A", "1B"] nie śmiga?

0
/**
 * @SWG\Property(type="array", @SWG\Items(type="string", example = ["1A", "1B"]))
 */
public array $ids;

wywala wyjątek:

[Syntax Error] Expected PlainValue, got '[' at position 64 in property App\Model\User\Users::$ids.

W necie znalazłem info, żeby zrobić to w ten sposób:

/**
 * @SWG\Property(type="array", @SWG\Items(type="string", example = "[\"1A\", \"1B\"]"))
 */
 public array $ids;

ale to też generuje wyjątek:

[Syntax Error] Expected Doctrine\Common\Annotations\DocLexer::T_CLOSE_PARENTHESIS, got '1' at position 68 in property App\Model\User\Users::$ids.
0

Ah, a spróbuj {"1A", "1B"}.

0

W tan sposób tworzy zagnieżdżoną tablicę.

    /**
     * @SWG\Property(type="array", @SWG\Items(type="string", example = {"1A", "1B"}))
     */
    public array $ids;
{
  "ids": [
    [
      "1A",
      "1B"
    ]
  ]
}
0

A co z type="array"?

0

Musi być podany typ z tego co rozumiem.
W przypadku array wymagany jest parametr określający elementy.

/**
 * @SWG\Property(type="array", @SWG\Items(type="array", example = {"1A", "1B"}))
 */
public array $ids;
@OA\Items() is required when @OA\Items() has type "array" in \App\Model\User\Users->ids in /code/src/Model/User/Users.php
0

A próbowałeś zrobić to z refką do samego siebie?

/**
* @SWG\Property(type="array", property="blabla", @SWG\Items(ref="#/definitions/blabla"), example = {"1A", "1B"})
*/
0

@malencki: w ten sposób nie udaje mi się zrobić.
Znalazłem info, że w tej bibliotece definitions nie jest obsługiwane.
Trzeba posługiwać się model - jak bym nie kombinował to pożądanego efektu nie mogę uzyskać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1