해당 문제는 Spring 서버로 API 서버를 구축하고 GET 방식의 API를 테스트 하다 발생한 문제로 해결 방법을 공유하려고 한다.
Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
해당 에러를 발생시키지 않으려면, relaxQueryChars 옵션에 허용할 문자를 추가하거나 톰캣 버전을 다운그레이드해야한다.
@Configuration
public class TomcatWebCustomConfig implements WebServerFactoryCustomizer<TomcatServletWebServerFactory> {
@Override
public void customize(TomcatServletWebServerFactory factory) {
factory.addConnectorCustomizers(connector -> connector.setProperty("relaxedQueryChars", "<>[\\]^`{|}"));
}
}