본문 바로가기

Backend/NestJS

클라이언트에서 영문 쿼리 백엔드단에서 한글로 받는 방법

클라이언트에서 영문으로 쿼리명을 넘겨주고, 서버단에서는 db에 해당 이름이 한글로 저장되어 있는 경우가 있었다. 

이런 경우에는 서버에서 어떻게 처리하면 좋을까? 

 

예를 들어 클라이언트에서 banana를 쿼리로 넘겨준다면, 서버단에서는 db에 해당 값이 한글로 저장되어 있으므로 한글로 변환이 필요하다. 

 

* 기존에는 서버단 > 클라이언트단으로 쿼리를 보낼 때 한글이름으로 보냈었는데, 클라이언트단에서 utf-8 인코딩 에러가 발생하는 바람에 쿼리에서 해당 단어가 깨져서 나오는 현상이 있었다. 

 

일단 클라이언트에서 넘어오는 한글 이름을 enum으로 받자. 

export const GangVoteGradeToKo: { [index:string]: string } = { 
	banana: '바나나', 
    apple: '사과'
};

이 enum을 메소드 상에서 활용해준다. 

 

const gradeFurits = GangVoteGradeToKo[grade];

이런 식으로 변수로 enum 값을 받아서 활용할 수 있다. 

 

이런 방법은 몰랐는데 앞으로도 유용하게 쓸 것 같다.