|
| 1 | +package grep.neogul_coder.domain.studypost.dto; |
| 2 | + |
| 3 | +import grep.neogul_coder.domain.comment.dto.CommentResponse; |
| 4 | +import grep.neogul_coder.domain.studypost.Category; |
| 5 | +import io.swagger.v3.oas.annotations.media.Schema; |
| 6 | +import java.time.LocalDateTime; |
| 7 | +import java.util.List; |
| 8 | +import lombok.Getter; |
| 9 | + |
| 10 | +@Getter |
| 11 | +@Schema(description = "스터디 게시글 상세 응답 DTO") |
| 12 | +public class StudyPostDetailResponse { |
| 13 | + |
| 14 | + @Schema(description = "게시글 ID", example = "10") |
| 15 | + private Long id; |
| 16 | + |
| 17 | + @Schema(description = "제목", example = "모든 국민은 직업선택의 자유를 가진다.") |
| 18 | + private String title; |
| 19 | + |
| 20 | + @Schema(description = "카테고리: NOTICE(공지), FREE(자유)", example = "NOTICE") |
| 21 | + private Category category; |
| 22 | + |
| 23 | + @Schema(description = "본문", example = "국회는 의원의 자격을 심사하며, 의원을 징계할 있다.") |
| 24 | + private String content; |
| 25 | + |
| 26 | + @Schema(description = "작성일", example = "2025-07-10T14:00:00") |
| 27 | + private LocalDateTime createdDate; |
| 28 | + |
| 29 | + @Schema(description = "작성자 닉네임", example = "너굴코더") |
| 30 | + private String nickname; |
| 31 | + |
| 32 | + @Schema(description = "작성자 프로필 이미지 URL", example = "https://cdn.example.com/profile.jpg") |
| 33 | + private String profileImageUrl; |
| 34 | + |
| 35 | + @Schema(description = "댓글 수", example = "3") |
| 36 | + private int commentCount; |
| 37 | + |
| 38 | + @Schema(description = "댓글 목록") |
| 39 | + private List<CommentResponse> comments; |
| 40 | +} |
0 commit comments