Skip to content

Commit dc9d638

Browse files
authored
[feat] 게시글 단건 조회 구현#44
[feat] 게시글 단건 조회 구현#44
2 parents a40529f + 179419a commit dc9d638

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/main/java/com/back/domain/post/post/controller/PostController.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,16 @@ public RsData<PostResponseDto> createPost(
4141
public RsData<List<PostResponseDto>> getAllPosts() {
4242
return RsData.successOf(postService.getAllPosts()); // code=200, message="success"
4343
}
44+
45+
/**
46+
* 게시글 단건 조회 API
47+
* @param postId 조회할 게시글 ID
48+
* @return 해당 ID의 게시글 정보
49+
*/
50+
@GetMapping("/{postId}")
51+
public RsData<PostResponseDto> getPost(
52+
@PathVariable Long postId
53+
) {
54+
return RsData.successOf(postService.getPost(postId)); // code=200, message="success"
55+
}
4456
}

src/main/java/com/back/domain/post/post/service/PostService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.back.domain.user.entity.User;
1212
import com.back.global.rq.Rq;
1313
import java.util.List;
14+
import java.util.NoSuchElementException;
1415
import java.util.stream.Collectors;
1516
import lombok.RequiredArgsConstructor;
1617
import org.springframework.stereotype.Service;
@@ -69,4 +70,13 @@ public List<PostResponseDto> getAllPosts() {
6970
.map(PostResponseDto::new)
7071
.collect(Collectors.toList());
7172
}
73+
74+
// 게시글 단건 조회 로직
75+
@Transactional(readOnly = true)
76+
public PostResponseDto getPost(Long postId) {
77+
return new PostResponseDto(
78+
postRepository.findById(postId)
79+
.orElseThrow(() -> new NoSuchElementException("해당 게시글을 찾을 수 없습니다. ID: " + postId))
80+
);
81+
}
7282
}

0 commit comments

Comments
 (0)