利用swagger-ui页面发送POST请求参数遇到的中文参数乱码的问题
阅读原文时间:2021年04月21日阅读:1

前端时间将同事开发的半成品项目接口做成可视化界面,即swagger-ui,用于展示。这个如何配置我就不多说了,网上相关的教程应该也是一搜一大堆……

本地测试了相关接口后,除了几个接口返回:

{"resultData":"","serviceTime":1517211417338,"resultStatus":"-1","resultInfo":"无数据或者type和model参数不对"}

其他一切正常, 这个项目也不是我参与开发的,当时也没想太多,也忘记去查看部署在服务器上的数据库的数据去 比对数据,直到pm喊我去查看没有返回数据的原因,em………

远程进行调试eclipse,结果发现,好家伙,30多个接口里唯一一个用到中文参数的接口,很正常的参数乱码了,当初天真的

认为同事应该是解决了这个问题,但是结果很显然..最后导致了MQ接收端查询不到MQ发送端推送来的json文本,异常被处理成无

数据的结果返回到前端

在不考虑添加额外的接口并且含有中文参数的情况下:

String tt = "";
try {
    tt = new String(map.get("model")[0].getBytes("ISO-8859-1"),"utf-8");
} catch (UnsupportedEncodingException e) {
    e.printStackTrace();
}

这样处理勉强能食用..

之前参考网上的教程,在服务器的tomcat上配置了URIEncoding,不过没有半毛钱用,后来知道这方法适用于get提交。

具体的话可以参考这里