ERROR RESOLVING

오류 java.lang.IllegalArgumentException 요청 타겟에서 유효하지 않은 문자가 발견되었습니다.

Adev 2023. 2. 12. 00:09

상황 

@GetMapping을 사용했고 URL로 list[] 인덱스를 사용해 직접 값을 전송해주던 중에 아래 오류가 발생했다.

 

INFO: HTTP 요청 헤더를 파싱하는 중 오류 발생
 비고: HTTP 요청 파싱 오류들이 더 발생하는 경우 DEBUG 레벨 로그로 기록될 것입니다.
java.lang.IllegalArgumentException: 요청 타겟에서 유효하지 않은 문자가 발견되었습니다. 유효한 문자들은 RFC 7230과 RFC 3986에 정의되어 있습니다.
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:494)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:271)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:834)

 

 

해결

톰캣 버전에 따라 문자열에서 특수문자를 허용하지 않는 경우가 있다. (tomcat9)

url에서 특수문자 '['%5B , 특수문자 ']'%5D로 변경한다.

 

url 오류

 

해결