diff --git a/Server/banchango/src/main/java/com/sundaegukbap/banchango/ai/application/AiRecipeRecommendClient.java b/Server/banchango/src/main/java/com/sundaegukbap/banchango/ai/application/AiRecipeRecommendClient.java index 0acdccb..9e8bc41 100644 --- a/Server/banchango/src/main/java/com/sundaegukbap/banchango/ai/application/AiRecipeRecommendClient.java +++ b/Server/banchango/src/main/java/com/sundaegukbap/banchango/ai/application/AiRecipeRecommendClient.java @@ -5,14 +5,14 @@ import com.sundaegukbap.banchango.ingredient.domain.Ingredient; import com.sundaegukbap.banchango.recipe.domain.RecipeCategory; import jakarta.transaction.Transactional; +import java.util.List; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; -import java.util.List; - @Component public class AiRecipeRecommendClient { + @Value("${api.aiBaseUrl}") private String aiBaseUrl; private final RestTemplate restTemplate; @@ -22,10 +22,30 @@ public AiRecipeRecommendClient(RestTemplate restTemplate) { } @Transactional - public List getRecommendedRecipesFromAI(RecipeCategory category, List ingredientList) { + public List getRecommendedRecipesFromAI(RecipeCategory category, + List ingredientList) { AiRecipeRecommendRequest request = AiRecipeRecommendRequest.of(category, ingredientList); - AiRecipeRecommendResponse response = restTemplate.postForObject(aiBaseUrl + "/category_recommend", request, AiRecipeRecommendResponse.class); + + AiRecipeRecommendResponse response; + if (category == RecipeCategory.전체) { + response = getRecipesOfAllCategories(request); + } else { + response = getRecipesOfSpecificCategories(request); + } return response.recommended_recipes(); } + + private AiRecipeRecommendResponse getRecipesOfSpecificCategories( + AiRecipeRecommendRequest request) { + AiRecipeRecommendResponse response = restTemplate.postForObject( + aiBaseUrl + "/category_recommend", request, AiRecipeRecommendResponse.class); + return response; + } + + private AiRecipeRecommendResponse getRecipesOfAllCategories(AiRecipeRecommendRequest request) { + AiRecipeRecommendResponse response = restTemplate.postForObject( + aiBaseUrl + "/recommend", request, AiRecipeRecommendResponse.class); + return response; + } }