Skip to content

Commit 23eb28a

Browse files
[EA3-78] feat : 스터디 게시판 API 생성
1 parent 166ed35 commit 23eb28a

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package grep.neogul_coder.domain.studypost.controller;
2+
3+
import grep.neogul_coder.domain.studypost.dto.StudyPostDetailResponse;
4+
import grep.neogul_coder.domain.studypost.dto.StudyPostListResponse;
5+
import grep.neogul_coder.domain.studypost.dto.StudyPostRequest;
6+
import grep.neogul_coder.global.response.ApiResponse;
7+
import io.swagger.v3.oas.annotations.Operation;
8+
import io.swagger.v3.oas.annotations.Parameter;
9+
import io.swagger.v3.oas.annotations.tags.Tag;
10+
import jakarta.validation.Valid;
11+
import java.util.List;
12+
13+
@Tag(name = "Study-Post", description = "스터디 게시판 API")
14+
public interface StudyPostSpecification {
15+
16+
@Operation(summary = "게시글 생성", description = "스터디에 새로운 게시글을 작성합니다.")
17+
ApiResponse<Void> create(
18+
@Parameter(description = "스터디 ID", example = "1") Long studyId,
19+
@Valid StudyPostRequest request
20+
);
21+
22+
@Operation(summary = "게시글 목록 전체 조회", description = "스터디의 게시글 전체 목록을 조회합니다.")
23+
ApiResponse<List<StudyPostListResponse>> findAllWithoutPagination(
24+
@Parameter(description = "스터디 ID", example = "1") Long studyId
25+
);
26+
27+
@Operation(summary = "게시글 상세 조회", description = "특정 게시글의 상세 정보를 조회합니다.")
28+
ApiResponse<StudyPostDetailResponse> findOne(
29+
@Parameter(description = "스터디 ID", example = "1") Long studyId,
30+
@Parameter(description = "게시글 ID", example = "15") Long postId
31+
);
32+
33+
@Operation(summary = "게시글 수정", description = "기존 게시글을 수정합니다.")
34+
ApiResponse<Void> update(
35+
@Parameter(description = "스터디 ID", example = "1") Long studyId,
36+
@Parameter(description = "게시글 ID", example = "15") Long postId,
37+
@Valid StudyPostRequest request
38+
);
39+
40+
@Operation(summary = "게시글 삭제", description = "특정 게시글을 삭제합니다.")
41+
ApiResponse<Void> delete(
42+
@Parameter(description = "스터디 ID", example = "1") Long studyId,
43+
@Parameter(description = "게시글 ID", example = "15") Long postId
44+
);
45+
}

0 commit comments

Comments
 (0)