Model(type: CreateIssueInput::class)), )] #[OA\Response( response: 201, description: 'Issue created', content: new OA\JsonContent(ref: new Model(type: CreateIssueOutput::class)), )] #[OA\Response( response: 401, description: 'Unauthorized', content: new OA\JsonContent(ref: new Model(type: Error::class)), )] #[OA\Response( response: 422, description: 'Validation failed', content: new OA\JsonContent(ref: new Model(type: ValidationError::class)), )] public function create( #[CurrentUser] SecurityUser $user, #[MapRequestPayload] CreateIssueInput $input, CreateIssueUseCase $useCase, ): Response { $output = $useCase->execute($input); return JsonResponse::fromJsonString( $this->serializer->serialize($output, 'json'), Response::HTTP_CREATED, ); } リクエスト/レスポンス(正常系)定義 #[OA\RequestBody( required: true, content: new OA\JsonContent(ref: new Model(type: CreateIssueInput::class)), )] #[OA\Response( response: 201, description: 'Issue created', content: new OA\JsonContent(ref: new Model(type: CreateIssueOutput::class)), )]