事故起因
调用外部接口,使用了【hutool工具包中的HttpUtil工具类,发起get请求】
Map<String, Object> param=new HashMap
param.put("advertiser_id",lwId);
String body = HttpUtil.createGet( url: "url")
.header(name: "Access-Token", value: "token")
.header( name: "X-Debug-Mode", value: "1")
.contentType("application/json;charset=utf-8")
.body(JSONUtil.toJsonStr(param))
execute()
.body();
报错
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Firhal//EN"
<title>405 Method Not Allowed</title>
<h1>Method Not Allowed</h1>
<p>The method is not allowed for the requested URL.</p>
原因
发现是我们目标使用的hutool版本 5.3.8有问题,升级到5.8.12后解决
升级版本后的问题
hutool版本升级后代码中使用hutool低版本初始化集合的地方有些API没有了.
hutool工具存在高低版本之间可能会存在某些api没有的风险,如果升级到高版本,使用的某些api可能会没有或者其它情况出现;
如何避免
使用【hutool】这个工具的时候,如果是初始化比如集合类,尽量不要使用以下形式的代码:
Map<String, String> params = CollUtil.newHashMap();