1. 백엔드

2. 프론트

// 기존 API 호출
const response = await fetch('/api/users');

// 언어 파라미터 추가
const response = await fetch('/api/users?lang=en');
// 기존 코드
const getUsers = async () => {
  const response = await fetch('/api/users');
  return response.json();
};

// 언어 파라미터 추가
const getUsers = async (language?: string) => {
  const queryParams = language ? `?lang=${language}` : '';
  const response = await fetch(`/api/users${queryParams}`);
  return response.json();
};
import { useLanguageStore } from "@/stores/languageStore";

export const useUsers = () => {
  const { language } = useLanguageStore();
  
  return useQuery({
    queryKey: ["users", language], // 언어별로 다른 캐시
    queryFn: () => getUsers(language),
    staleTime: 60 * 1000,
  });
};

3. API 사용 예시

견적 요청 조회 API

GET /estimateRequests/active?lang=en
{
  "success": true,
  "hasActive": true,
  "data": {
    "departureAddress": "Jugong 1-gil, Sacheon-si, Gyeongnam",
    "arrivalAddress": "Bonap-ro 2, Gapyeong-gun, Gyeonggi-do",
    "movingType": "SMALL"
  }
}

주의사항

1. 성능 고려사항

2. 비용 고려사항