diff --git a/app/Swagger/v1/ItemsApi.php b/app/Swagger/v1/ItemsApi.php index f5a6eb3..c6d4464 100644 --- a/app/Swagger/v1/ItemsApi.php +++ b/app/Swagger/v1/ItemsApi.php @@ -91,6 +91,41 @@ */ class ItemsApi { + /** + * @OA\Get( + * path="/api/v1/items", + * tags={"Items"}, + * summary="품목 목록 조회 (통합)", + * description="Product + Material 통합 조회, 페이징 지원", + * security={{"ApiKeyAuth": {}, "BearerAuth": {}}}, + * + * @OA\Parameter(ref="#/components/parameters/Page"), + * @OA\Parameter(ref="#/components/parameters/Size"), + * @OA\Parameter(name="search", in="query", @OA\Schema(type="string"), description="검색어 (code, name)", example="P-001"), + * @OA\Parameter(name="product_type", in="query", @OA\Schema(type="string"), description="품목 타입 필터 (FG,PT,SM,RM,CS)", example="FG"), + * @OA\Parameter(name="category_id", in="query", @OA\Schema(type="integer"), description="카테고리 ID 필터", example=1), + * @OA\Parameter(name="is_active", in="query", @OA\Schema(type="boolean"), description="활성 상태 필터", example=true), + * + * @OA\Response( + * response=200, + * description="성공", + * + * @OA\JsonContent( + * type="object", + * + * @OA\Property(property="success", type="boolean", example=true), + * @OA\Property(property="message", type="string", example="품목 목록을 조회했습니다."), + * @OA\Property(property="data", type="array", @OA\Items(ref="#/components/schemas/Item")), + * @OA\Property(property="meta", ref="#/components/schemas/PaginationMeta") + * ) + * ), + * + * @OA\Response(response=401, description="인증 실패", @OA\JsonContent(ref="#/components/schemas/ErrorResponse")), + * @OA\Response(response=403, description="권한 없음", @OA\JsonContent(ref="#/components/schemas/ErrorResponse")) + * ) + */ + public function index() {} + /** * @OA\Post( * path="/api/v1/items",