Skip to content

Commit

Permalink
Update: 게시물 상세 링크, 파일 반환 추가
Browse files Browse the repository at this point in the history
  • Loading branch information
kdh10806 committed Feb 11, 2025
1 parent a9c99e9 commit bc721d7
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public ResponseEntity<APIResponse<?>> handleException(Exception e, WebRequest re
String detailedMessage = e.getMessage() != null ? e.getMessage() : "An unexpected error occurred";
APIResponse<?> response = APIResponse.fail(errorCode, detailedMessage);

e.printStackTrace();
return ResponseEntity
.status(errorCode.getStatusCode()) // HTTP 상태 코드 설정
.body(response); // APIResponse를 응답 본문으로 설정
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import org.springframework.http.ResponseEntity;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.*;
Expand Down Expand Up @@ -120,7 +121,7 @@ ResponseEntity<APIResponse<PaginatedResponse<PostListResponse>>> selectList (@Pa
)
@PostMapping()
ResponseEntity<APIResponse<Map<String, Long>>> createPost(@AuthenticationPrincipal CustomUserDetails user,
@RequestBody PostCreateRequest postCreateRequest,
@Valid @RequestBody PostCreateRequest postCreateRequest,
HttpServletRequest request

);
Expand Down Expand Up @@ -151,7 +152,7 @@ ResponseEntity<APIResponse<Map<String, Long>>> createPost(@AuthenticationPrincip
@PutMapping("/{postId}")
ResponseEntity<APIResponse<SuccessCode>> updatePost(@AuthenticationPrincipal CustomUserDetails user,
@PathVariable Long postId,
@RequestBody PostUpdateRequest postUpdateRequest,
@Valid @RequestBody PostUpdateRequest postUpdateRequest,
HttpServletRequest request
);

Expand Down
19 changes: 16 additions & 3 deletions Main/src/main/java/com/seveneleven/board/dto/PostResponse.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
import com.seveneleven.entity.board.Post;
import com.seveneleven.entity.board.constant.PostStatus;
import com.seveneleven.entity.board.constant.TaskPriority;
import com.seveneleven.util.file.dto.FileMetadataResponse;
import com.seveneleven.util.file.dto.LinkResponse;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
Expand All @@ -28,6 +30,10 @@ public class PostResponse {
private LocalDateTime updateDate; // 최근수정일자
@Setter
private List<GetCommentResponse> comments;
@Setter
private List<LinkResponse> links;
@Setter
private List<FileMetadataResponse> files;

@Override
public String toString() {
Expand All @@ -40,7 +46,9 @@ private PostResponse(
Post post,
Long parentPostId,
String writer,
List<GetCommentResponse> comments
List<GetCommentResponse> comments,
List<LinkResponse> links,
List<FileMetadataResponse> files
) {
this.postId = post.getId();
this.projectStepId = post.getProjectStep().getId();
Expand All @@ -54,14 +62,19 @@ private PostResponse(
this.createDate = post.getCreatedAt();
this.updateDate = post.getUpdatedAt();
this.comments = comments;
this.links = links;
this.files = files;
}

public static PostResponse getPostResponse(Post post, Long parentPostId, String writer, List<GetCommentResponse> comments) {
public static PostResponse getPostResponse(Post post, Long parentPostId, String writer, List<GetCommentResponse> comments,
List<LinkResponse> links, List<FileMetadataResponse> files) {
return new PostResponse(
post,
parentPostId,
writer,
comments
comments,
links,
files
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
import com.seveneleven.exception.BusinessException;
import com.seveneleven.response.PaginatedResponse;
import com.seveneleven.util.GetIpUtil;
import com.seveneleven.util.file.dto.FileMetadataResponse;
import com.seveneleven.util.file.dto.LinkInput;
import com.seveneleven.util.file.dto.LinkResponse;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
Expand Down Expand Up @@ -84,7 +86,13 @@ public PostResponse selectPost(Long postId) {
// 댓글 목록 조회
List<GetCommentResponse> comments = commentService.selectCommentList(post.getId());

return getPostResponse(post, parentPostId, postReader.getWriter(post.getCreatedBy()), comments);
// 링크 목록 조회
List<LinkResponse> links = postLinkService.getPostLinks(post.getId());

// 파일 목록 조회
List<FileMetadataResponse> files = postFileService.getPostFiles(post.getId());

return getPostResponse(post, parentPostId, postReader.getWriter(post.getCreatedBy()), comments, links, files);
}

/**
Expand Down

0 comments on commit bc721d7

Please sign in to comment.