Los caracteres válidos se definen en RFC 7230 y RFC 3986.
Codifique en URL el valor de la solicitud (pero Spring Boot solo decodificará la URL una vez de forma predeterminada, y la segunda decodificación debe agregarse por separado)
Reemplace Tomcat con una versión inferior ( consejo: gt ;=8.0.39 y gt;=9.0.0.M12 tienen el mismo problema)
Utilice contenido POST para enviar datos (en el cuerpo)
1.~/ conf/catalina. properties, busque la última línea comentada # opción tomcat.util.http.parser.HttpParser.requestTargetAllow, cámbiela a tomcat.util.http.parser.requestTargetAllowhttp.parser.HttpParser.requestTargetAllow=|{}, el La opción está separada en una matriz de caracteres, lo que indica la liberación ["|", "{", "}"]
2. Alternativamente, puede agregar org.apache.tomcat en la última línea de ~/conf /catalina.properties.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
Agregar tomcat.util.http.parser.ALLOW_ENCODED_SLASH=true
3. Agregar tomcat.util.http.parser .HttpParser al inicio .requestTargetAllow=|{}
Ejemplo: # java -jar -Dtomcat.util.http.parser.HttpParser.requestTargetAllow=|{} demo-0.0.1-SNAPSHOT.jar p>