postman으로 API 테스트를 하다 @PathVariable 로 한글을 넘길 때, 에러가 발생하는 것을 발견하였다.
@RequestMapping(value = "setting/{saveName}", method=RequestMethod.DELETE)
public @ResponseBody ResponseEntity<ReturnData> deleteSetting(@PathVariable String saveName, HttpServletRequest request) {
...
}
위와 같이 스프링 컨트롤러를 구성하였을 때, @PathVariable
에 해당하는 saveName이 url에 담겨서 전달이 되기를 원했다.
하지만 API 테스트를 해보았을 때, 아래와 같이 404 에러를 리턴하는 것을 확인하였다.
아무래도 한글 인코딩에서의 문제라고 생각했고, pathvarible 한글
과 같은 키워드로 검색해보니,
Tomcat에서의 설정을 변경하면 문제를 해결할 수 있다는 자료를 확인하였다.
참고한 글들은 아래와 같다.
Tomcat의 경로에서 conf/server.xml에 URIEncoding
옵션을 추가함으로써 문제를 해결할 수 있었다.