번역 미들웨어 적용
// 기존 코드
router.get("/users", verifyAccessToken, (req, res) =>
userController.getUsers(req, res)
);
// 번역 미들웨어 추가
router.get("/users", verifyAccessToken, defaultTranslationMiddleware, (req, res) =>
userController.getUsers(req, res)
);
env에 api 키 추가 ( api 키 하나 당 번역 가능한 글자 수는 50만 글자로 이미 4천글자를 사용함.. 금방 되니까 조심)
// 기존 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,
});
};
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"
}
}