docs: GET /items 엔드포인트 Swagger 문서 추가

- ItemsApi.php에 index() 메서드 문서 추가
- 품목 목록 조회 (통합) 엔드포인트 문서화
- 페이징, 검색, 필터 파라미터 정의
- Swagger JSON 재생성 완료
This commit is contained in:
2025-11-17 14:30:16 +09:00
parent a1af11871d
commit 7b8f8791c9

View File

@@ -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",