@@ -129,6 +129,7 @@ else if (categories.size() > 1)
129129 throw new CustomException (ErrorCode .REQUIRED_TAGS_MISSING );
130130 // throw new CustomException(ErrorCode.REQUIRED_TAGS_MISSING, String.join(", ", issues));
131131 // throw new CustomException(ErrorCode.REQUIRED_TAGS_MISSING.withDetail(missingTypes.toString()));
132+ // Todo 어떤 태그가 선택 안된건지 보여지도록 수정
132133 }
133134 return tags ;
134135 }
@@ -143,12 +144,13 @@ private void validatePost(PostRequestDto postRequestDto){
143144
144145 // 게시글 조회하기
145146 public PostResponseDto viewPost (Long postId ){
146- Member member = memberService .getCurrentMemberInfo ();
147+ Optional < Member > optionalMember = memberService .getCurrentOptionalMemberInfo ();
147148
148149 Post currentPost = postRepository .findById (postId )
149150 .orElseThrow (() -> new CustomException (ErrorCode .POST_NOT_FOUND ));
150151
151152 PostDto postInfo = new PostDto (
153+ currentPost .getUserId ().getNickname (),
152154 currentPost .getPostTitle (),
153155 getDefaultImage (currentPost .getCoverImage ()),
154156 currentPost .getProblem (),
@@ -164,14 +166,28 @@ public PostResponseDto viewPost(Long postId){
164166 .collect (toList ())
165167 );
166168
167- String nickname = member .getNickname ();
169+ String nickname ; String profileImageUrl ;
170+ boolean isLiked ; boolean isMarked ;
171+ if (optionalMember .isPresent ()){
172+ Member member = optionalMember .get ();
173+ nickname = member .getNickname ();
174+ String imageUrl = member .getProfileImageUrl ();
175+ profileImageUrl = getDefaultImage (imageUrl );
176+
177+ isLiked = currentPost .getPostLikes ().stream ()
178+ .anyMatch (postLike -> postLike .getUserId ().equals (member ));
179+ isMarked = currentPost .getBookmarks ().stream ()
180+ .anyMatch (bookmark -> bookmark .getFolderId ().getUserId ().equals (member ));
181+ } else {
182+ nickname = "로그인하지 않았습니다." ;
183+ profileImageUrl = "https://example.com/default-cover-image.png" ; // 비로그인 기본 이미지
184+ isLiked = false ;
185+ isMarked = false ;
186+ }
187+
168188 LocalDate createdAt = currentPost .getCreatedAt ().toLocalDate ();
169- boolean isLiked = currentPost .getPostLikes ().stream ()
170- .anyMatch (postLike -> postLike .getUserId ().equals (member ));
171- boolean isMarked = currentPost .getBookmarks ().stream ()
172- .anyMatch (bookmark -> bookmark .getFolderId ().getUserId ().equals (member ));
173189
174- return new PostResponseDto (postInfo , nickname , createdAt , isLiked , isMarked );
190+ return new PostResponseDto (postInfo , createdAt , nickname , profileImageUrl , isLiked , isMarked );
175191 }
176192
177193 // 게시글 좋아요
0 commit comments