Spring @PathVariable 한글 파라미터 전달

이상현·2021년 6월 21일
0

차곡차곡

목록 보기
4/8

문제

postman으로 API 테스트를 하다 @PathVariable 로 한글을 넘길 때, 에러가 발생하는 것을 발견하였다.

환경

  • Tomcat 7.xx
  • Spring MVC
@RequestMapping(value = "setting/{saveName}", method=RequestMethod.DELETE)
	public @ResponseBody ResponseEntity<ReturnData> deleteSetting(@PathVariable String saveName, HttpServletRequest request) {
    
    ...
    
    }

위와 같이 스프링 컨트롤러를 구성하였을 때, @PathVariable에 해당하는 saveName이 url에 담겨서 전달이 되기를 원했다.

하지만 API 테스트를 해보았을 때, 아래와 같이 404 에러를 리턴하는 것을 확인하였다.

아무래도 한글 인코딩에서의 문제라고 생각했고, pathvarible 한글 과 같은 키워드로 검색해보니,
Tomcat에서의 설정을 변경하면 문제를 해결할 수 있다는 자료를 확인하였다.

참고한 글들은 아래와 같다.


참고한 자료들

📘 https://dev-onestep.tistory.com/21


새로 알게된 내용

  • 문제의 원인
    : 아무래도 http 요청이 WAS로 넘어갈 때, 발생하는 문제였던 것 같다.

해결

Tomcat의 경로에서 conf/server.xml에 URIEncoding 옵션을 추가함으로써 문제를 해결할 수 있었다.

profile
'당신을 한 줄로 소개해보세요'를 이 블로그로 대신 해볼까합니다.

0개의 댓글