先來吐槽一下,美團的開放平臺真的是垃圾中的垃圾,所有接口以GET訪問,並且中文不編碼,有好多非法字符比如[]{}"|!等,這樣很不好處理。網上好多說直接在spring boot 啓動設置
System.setProperty("tomcat.util.http.parser.HttpParser.requestTargetAllow", "|{}[]");
但是隻能解決[]和{}好像是,反正很蛋疼。
一、修改Tomcat 配置server.xml配置文件
<Connector port="8080" protocol="HTTP/1.1" relaxedQueryChars="[]|{}^\`"<>" connectionTimeout="20000" redirectPort="8443" />
主要就是加入 relaxedQueryChars="[]|{}^\`"<>"
二、設置Tomcat 的啓動參數
爲什麼要加上 -Dfile.encoding=UTF-8 呢?因爲要在項目中使用http get 請求,要不對方收到的就是亂碼。下面是參照配置
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_231
SET TOMCAT_HOME=D:\apache-tomcat-8.5.50
set JAVA_OPTS=-Xms256m -Xmx2048m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/heapdump.hprof