어떤 기능인가요?
프론트엔드 연동을 위해 프롬프트 상세 조회와 댓글 CRUD 및 대댓글 작성 API 계약을 정의하고 Swagger에 노출합니다.
이번 이슈는 Controller 골격, Request/Response DTO, OpenAPI 명세와 계약 테스트를 범위로 합니다. 실제 비즈니스 로직, 영속성, 결제 권한 판별 및 워터마크 연동은 후속 작업에서 구현합니다.
관련 도메인
- prompt
- community
- user
- commerce
API 범위
GET /api/v1/prompts/{promptId}: 프롬프트 상세 조회
GET /api/v1/prompts/{promptId}/comments: 댓글 목록 조회
POST /api/v1/prompts/{promptId}/comments: 댓글 작성
PATCH /api/v1/comments/{commentId}: 댓글 수정
DELETE /api/v1/comments/{commentId}: 댓글 삭제
POST /api/v1/comments/{commentId}/replies: 대댓글 작성
요구사항
공통
프롬프트 상세 조회
본문 접근 정책
이미지
댓글 목록 조회
댓글 작성·수정·삭제
대댓글
주요 오류 응답
TODO
참고 자료
- API 명세서
- FE·BE 통합 회의록
- 프롬프트 상세 화면 기획 시안
- 댓글 및 대댓글 화면 기획 시안
제출 전 확인사항
어떤 기능인가요?
프론트엔드 연동을 위해 프롬프트 상세 조회와 댓글 CRUD 및 대댓글 작성 API 계약을 정의하고 Swagger에 노출합니다.
이번 이슈는 Controller 골격, Request/Response DTO, OpenAPI 명세와 계약 테스트를 범위로 합니다. 실제 비즈니스 로직, 영속성, 결제 권한 판별 및 워터마크 연동은 후속 작업에서 구현합니다.
관련 도메인
API 범위
GET /api/v1/prompts/{promptId}: 프롬프트 상세 조회GET /api/v1/prompts/{promptId}/comments: 댓글 목록 조회POST /api/v1/prompts/{promptId}/comments: 댓글 작성PATCH /api/v1/comments/{commentId}: 댓글 수정DELETE /api/v1/comments/{commentId}: 댓글 삭제POST /api/v1/comments/{commentId}/replies: 대댓글 작성요구사항
공통
ApiResponse형식을 사용한다.프롬프트 상세 조회
FREE,PREMIUM만 사용한다.PREMIUM가격은 서버에서 관리하는 고정값을 반환한다.본문 접근 정책
promptBody를 빈 문자열로 반환한다.FREE콘텐츠의 원문 전체를 조회할 수 있다.PREMIUM미결제 사용자에게는 원문의 앞부분 10%, 최대 200자만 반환한다.PREMIUM결제 완료 사용자와 프롬프트 작성자에게는 원문 전체를 반환한다.access.locked,access.reason을 포함하여 로그인 또는 결제 필요 여부를 전달한다.이미지
댓글 목록 조회
mine을 포함한다.replies에 포함한다.댓글 작성·수정·삭제
content만 포함한다.201 Created를 반환한다.200 OK와 공통ApiResponse를 반환한다.대댓글
201 Created를 반환한다.주요 오류 응답
401 Unauthorized를 반환한다.403 Forbidden을 반환한다.404 Not Found를 반환한다.400 Bad Request를 반환한다.TODO
PromptController상세 조회 엔드포인트 골격 작성PromptControllerDocsSwagger 명세 작성CommentController엔드포인트 골격 작성CommentControllerDocsSwagger 명세 작성참고 자료
제출 전 확인사항