Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ dependencies {
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'

implementation 'org.apache.httpcomponents.core5:httpcore5:5.3.1'
implementation 'org.apache.httpcomponents.client5:httpclient5:5.4.1'
}

tasks.named('test') {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import jakarta.validation.constraints.NotBlank;
import lombok.AllArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import lombok.AllArgsConstructor;
import lombok.Builder;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

public record EmotionBandCreateResponse (Long emotionBandId){
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.time.LocalDateTime;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.time.LocalDateTime;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.util.List;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.time.LocalDateTime;
import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

public record MemberLoginRequest (String name){
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

public record MemberLoginResponse (Long memberId){
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.time.LocalDate;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import lombok.AllArgsConstructor;
import lombok.Getter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api;

import java.time.LocalDateTime;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package team3.kummit.dto;
package team3.kummit.api.music;

import java.util.List;

Expand Down
22 changes: 20 additions & 2 deletions src/main/java/team3/kummit/config/MusicSearchConfig.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
package team3.kummit.config;

import org.apache.hc.client5.http.impl.DefaultConnectionKeepAliveStrategy;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.HttpClients;
import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

@Configuration
Expand All @@ -11,7 +16,20 @@ public class MusicSearchConfig {
@Bean
public RestTemplate getResetTemplate() {

return new RestTemplate(new SimpleClientHttpRequestFactory());
// 커넥션 풀 설정
PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager();
connectionManager.setMaxTotal(50);
connectionManager.setDefaultMaxPerRoute(50); // 아이튠즈 API 만 사용하니까 개수 동일하게

CloseableHttpClient httpClient = HttpClients.custom()
.setConnectionManager(connectionManager)
.setKeepAliveStrategy(DefaultConnectionKeepAliveStrategy.INSTANCE)
.build();

HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpClient);
factory.setConnectTimeout(10_000);

return new RestTemplate(factory);
}

}
4 changes: 2 additions & 2 deletions src/main/java/team3/kummit/controller/CommentController.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import team3.kummit.dto.CommentRequest;
import team3.kummit.dto.CommentResponse;
import team3.kummit.api.CommentRequest;
import team3.kummit.api.CommentResponse;
import team3.kummit.service.CommentService;

@Tag(name = "Comment", description = "댓글 관리")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import io.swagger.v3.oas.annotations.tags.Tag;

import lombok.RequiredArgsConstructor;
import team3.kummit.dto.EmotionBandArchiveResponse;
import team3.kummit.api.EmotionBandArchiveResponse;
import team3.kummit.service.EmotionBandArchiveService;

@Tag(name = "EmotionBand-Archive", description = "감정밴드 보관 관리")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@

import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import team3.kummit.dto.EmotionBandCreateRequest;
import team3.kummit.dto.EmotionBandCreateResponse;
import team3.kummit.dto.EmotionBandDetailResponse;
import team3.kummit.dto.EmotionBandListResponse;
import team3.kummit.api.EmotionBandCreateRequest;
import team3.kummit.api.EmotionBandCreateResponse;
import team3.kummit.api.EmotionBandDetailResponse;
import team3.kummit.api.EmotionBandListResponse;
import team3.kummit.service.EmotionBandService;
import team3.kummit.service.MemberService;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
import io.swagger.v3.oas.annotations.tags.Tag;

import lombok.RequiredArgsConstructor;
import team3.kummit.dto.EmotionBandLikeResponse;
import team3.kummit.api.EmotionBandLikeResponse;
import team3.kummit.service.EmotionBandLikeService;

@Tag(name = "EmotionBand-Like", description = "감정밴드 좋아요 관리")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import team3.kummit.api.*;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.dto.*;
import team3.kummit.service.EmotionBandArchiveService;
import team3.kummit.service.EmotionBandLikeService;
import team3.kummit.service.EmotionBandService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import team3.kummit.dto.MusicSearchResponse;
import team3.kummit.api.music.MusicSearchResponse;
import team3.kummit.service.music.MusicResponse;
import team3.kummit.service.music.MusicSearchService;

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/team3/kummit/controller/SongController.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
import io.swagger.v3.oas.annotations.tags.Tag;

import lombok.RequiredArgsConstructor;
import team3.kummit.dto.SongRequest;
import team3.kummit.dto.SongResponse;
import team3.kummit.api.SongRequest;
import team3.kummit.api.SongResponse;
import team3.kummit.service.SongService;

@Tag(name = "Song", description = "음악 관리")
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/team3/kummit/service/CommentService.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import team3.kummit.api.CommentRequest;
import team3.kummit.api.CommentResponse;
import team3.kummit.domain.Comment;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.dto.CommentRequest;
import team3.kummit.dto.CommentResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.CommentRepository;
import team3.kummit.repository.EmotionBandRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import team3.kummit.api.EmotionBandArchiveResponse;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.EmotionBandArchive;
import team3.kummit.domain.Member;
import team3.kummit.dto.EmotionBandArchiveResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.EmotionBandArchiveRepository;
import team3.kummit.repository.EmotionBandRepository;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/team3/kummit/service/EmotionBandService.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import team3.kummit.api.*;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.domain.Song;
import team3.kummit.dto.*;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.EmotionBandRepository;
import team3.kummit.repository.SongRepository;
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/team3/kummit/service/SongService.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
import org.springframework.transaction.annotation.Transactional;

import lombok.RequiredArgsConstructor;
import team3.kummit.api.SongRequest;
import team3.kummit.api.SongResponse;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.domain.Song;
import team3.kummit.dto.SongRequest;
import team3.kummit.dto.SongResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.EmotionBandRepository;
import team3.kummit.repository.MemberRepository;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package team3.kummit.service.music;


import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;

import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.stereotype.Component;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

Expand All @@ -19,15 +20,16 @@
@RequiredArgsConstructor
class MusicApiResponseParser {

private final ObjectMapper objectMapper = new ObjectMapper();
private final ObjectMapper objectMapper = new ObjectMapper(); // 테스트를 위해 직접 생성

public List<MusicResponse> parseMusicResponse(String response) {

JsonNode root;
try{
root = objectMapper.readTree(response);
}catch (IOException e){
throw new RuntimeException(e);
}catch (JsonProcessingException e){
log.error("parseMusicResponse error: {}", e.getMessage());
throw new HttpMessageNotReadableException(e.getMessage(),e, null);
}
return StreamSupport.stream(root.withArray("results").spliterator(), false)
.map(node -> objectMapper.convertValue(node, MusicResponse.class))
Expand Down
1 change: 1 addition & 0 deletions src/main/resources/application.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
spring.jpa.open-in-view : false
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,5 @@ void findAllByEmotionBandIdList() {
@Test
void indAllByEmotionBandIdList() {
List<EmotionBand> allByEmotionBandIdList = repository.findAllByEmotionBandIdList(List.of(1L, 2L, 3L), LocalDateTime.now());
for (EmotionBand emotionBand : allByEmotionBandIdList) {
System.out.println(emotionBand.getId());
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import team3.kummit.api.EmotionBandArchiveResponse;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.EmotionBandArchive;
import team3.kummit.domain.Member;
import team3.kummit.dto.EmotionBandArchiveResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.EmotionBandArchiveRepository;
import team3.kummit.repository.EmotionBandRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.annotation.Transactional;

import team3.kummit.api.EmotionBandCreateRequest;
import team3.kummit.domain.Member;
import team3.kummit.dto.EmotionBandCreateRequest;
import team3.kummit.repository.MemberRepository;

@SpringBootTest
Expand Down
4 changes: 2 additions & 2 deletions src/test/java/team3/kummit/service/SongServiceTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import team3.kummit.api.SongRequest;
import team3.kummit.api.SongResponse;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.domain.Song;
import team3.kummit.dto.SongRequest;
import team3.kummit.dto.SongResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.EmotionBandRepository;
import team3.kummit.repository.MemberRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import team3.kummit.api.CommentRequest;
import team3.kummit.api.CommentResponse;
import team3.kummit.domain.Comment;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.dto.CommentRequest;
import team3.kummit.dto.CommentResponse;
import team3.kummit.exception.ResourceNotFoundException;
import team3.kummit.repository.CommentRepository;
import team3.kummit.repository.EmotionBandRepository;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
import org.mockito.Mock;
import org.mockito.junit.jupiter.MockitoExtension;

import team3.kummit.api.CommentResponse;
import team3.kummit.domain.Comment;
import team3.kummit.domain.EmotionBand;
import team3.kummit.domain.Member;
import team3.kummit.dto.CommentResponse;
import team3.kummit.repository.CommentRepository;
import team3.kummit.repository.EmotionBandRepository;
import team3.kummit.repository.MemberRepository;
Expand Down