@OA\Response @OA\Items @OA\MediaType Пример аннотации - массив объектов JSON в качестве ответа, переиспользование схемы модели
Primary tabs
Например для zircote/swagger-php:
/**
* @OA\Get(path="/campaign-type",
* tags={"CampaignType"},
* operationId="getCampaignTypes",
* summary="Список всех (созданных к данном моменту) типов кампаний",
* @OA\Response(response="200",
* description="OK",
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
* type="array",
* @OA\Items(
* type="object",
* @OA\Property(
* property="id",
* type="integer"
* ),
* @OA\Property(
* property="name",
* type="string"
* ),
* ),
*
* )
* ),
* )
* )
*/
public function getCampaignTypes() {
$types = $this->campaignTypeRepository->findAll();
return $this->reply($types, 200, ['groups' => 'group1']);
}
Или тоже самое но со ссылкой на схему модели (переиспользование описания модели):
/**
*
* @OA\Get(path="/campaign-type",
* tags={"CampaignType"},
* operationId="getCampaignTypes",
* summary="Список всех (созданных к данном моменту) типов кампаний",
* @OA\Response(response="200",
* description="OK",
* @OA\MediaType(
* mediaType="application/json",
* @OA\Schema(
* type="array",
* @OA\Items(
* ref="#/components/schemas/CampaignType"
* ),
* )
* ),
* )
* )
*/
public function getCampaignTypes() {
$types = $this->campaignTypeRepository->findAll();
return $this->reply($types, 200, ['groups' => 'group1']);
}
- Log in to post comments
- 13734 reads