Skip to content

Commit b275ede

Browse files
committed
refactor: 단일/목록 응답 클래스 네이밍 통일
1 parent 36be2ab commit b275ede

6 files changed

Lines changed: 43 additions & 43 deletions

File tree

src/main/java/com/example/solidconnection/news/controller/NewsController.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.example.solidconnection.common.resolver.AuthorizedUser;
44
import com.example.solidconnection.news.dto.NewsCommandResponse;
55
import com.example.solidconnection.news.dto.NewsCreateRequest;
6-
import com.example.solidconnection.news.dto.NewsResponse;
6+
import com.example.solidconnection.news.dto.NewsListResponse;
77
import com.example.solidconnection.news.dto.NewsUpdateRequest;
88
import com.example.solidconnection.news.service.NewsCommandService;
99
import com.example.solidconnection.news.service.NewsQueryService;
@@ -34,11 +34,11 @@ public class NewsController {
3434

3535
// todo: 추후 Slice 적용
3636
@GetMapping
37-
public ResponseEntity<NewsResponse> findNewsBySiteUserId(
37+
public ResponseEntity<NewsListResponse> findNewsBySiteUserId(
3838
@RequestParam(value = "site-user-id") Long siteUserId
3939
) {
40-
NewsResponse newsResponse = newsQueryService.findNewsBySiteUserId(siteUserId);
41-
return ResponseEntity.ok(newsResponse);
40+
NewsListResponse newsListResponse = newsQueryService.findNewsBySiteUserId(siteUserId);
41+
return ResponseEntity.ok(newsListResponse);
4242
}
4343

4444
@RequireRoleAccess(roles = {Role.ADMIN, Role.MENTOR})

src/main/java/com/example/solidconnection/news/dto/NewsItemResponse.java

Lines changed: 0 additions & 25 deletions
This file was deleted.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.example.solidconnection.news.dto;
2+
3+
import java.util.List;
4+
5+
public record NewsListResponse(
6+
List<NewsResponse> newsResponseList
7+
) {
8+
public static NewsListResponse from(List<NewsResponse> newsResponseList) {
9+
return new NewsListResponse(newsResponseList);
10+
}
11+
}
Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
11
package com.example.solidconnection.news.dto;
22

3-
import java.util.List;
3+
import com.example.solidconnection.news.domain.News;
4+
5+
import java.time.ZonedDateTime;
46

57
public record NewsResponse(
6-
List<NewsItemResponse> newsItemsResponseList
8+
long id,
9+
String title,
10+
String description,
11+
String thumbnailUrl,
12+
String url,
13+
ZonedDateTime updatedAt
714
) {
8-
public static NewsResponse from(List<NewsItemResponse> newsItemsResponseList) {
9-
return new NewsResponse(newsItemsResponseList);
15+
public static NewsResponse from(News news) {
16+
return new NewsResponse(
17+
news.getId(),
18+
news.getTitle(),
19+
news.getDescription(),
20+
news.getThumbnailUrl(),
21+
news.getUrl(),
22+
news.getUpdatedAt()
23+
);
1024
}
1125
}

src/main/java/com/example/solidconnection/news/service/NewsQueryService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.example.solidconnection.news.service;
22

33
import com.example.solidconnection.news.domain.News;
4-
import com.example.solidconnection.news.dto.NewsItemResponse;
54
import com.example.solidconnection.news.dto.NewsResponse;
5+
import com.example.solidconnection.news.dto.NewsListResponse;
66
import com.example.solidconnection.news.repository.NewsRepository;
77
import lombok.RequiredArgsConstructor;
88
import org.springframework.stereotype.Service;
@@ -17,11 +17,11 @@ public class NewsQueryService {
1717
private final NewsRepository newsRepository;
1818

1919
@Transactional(readOnly = true)
20-
public NewsResponse findNewsBySiteUserId(Long siteUserId) {
20+
public NewsListResponse findNewsBySiteUserId(Long siteUserId) {
2121
List<News> newsList = newsRepository.findAllBySiteUserIdOrderByUpdatedAtDesc(siteUserId);
22-
List<NewsItemResponse> newsItemsResponseList = newsList.stream()
23-
.map(NewsItemResponse::from)
22+
List<NewsResponse> newsResponseList = newsList.stream()
23+
.map(NewsResponse::from)
2424
.toList();
25-
return NewsResponse.from(newsItemsResponseList);
25+
return NewsListResponse.from(newsResponseList);
2626
}
2727
}

src/test/java/com/example/solidconnection/news/service/NewsQueryServiceTest.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.example.solidconnection.news.service;
22

33
import com.example.solidconnection.news.domain.News;
4-
import com.example.solidconnection.news.dto.NewsItemResponse;
54
import com.example.solidconnection.news.dto.NewsResponse;
5+
import com.example.solidconnection.news.dto.NewsListResponse;
66
import com.example.solidconnection.news.fixture.NewsFixture;
77
import com.example.solidconnection.siteuser.domain.SiteUser;
88
import com.example.solidconnection.siteuser.fixture.SiteUserFixture;
@@ -40,12 +40,12 @@ class NewsQueryServiceTest {
4040
List<News> newsList = List.of(news1, news2);
4141

4242
// when
43-
NewsResponse response = newsQueryService.findNewsBySiteUserId(user1.getId());
43+
NewsListResponse response = newsQueryService.findNewsBySiteUserId(user1.getId());
4444

4545
// then
46-
assertThat(response.newsItemsResponseList()).hasSize(newsList.size());
47-
assertThat(response.newsItemsResponseList())
48-
.extracting(NewsItemResponse::updatedAt)
46+
assertThat(response.newsResponseList()).hasSize(newsList.size());
47+
assertThat(response.newsResponseList())
48+
.extracting(NewsResponse::updatedAt)
4949
.isSortedAccordingTo(Comparator.reverseOrder());
5050
}
5151
}

0 commit comments

Comments
 (0)