Недавно я изучал Spring Gateway, чтобы построить простую систему, у меня возник вопрос, который я не могу решить, поэтому я выдвигаю эту проблему, надеюсь, некоторые могут решить эту проблему.
question: я загружаю файл, в моем локальном окружении на локальный tomcat, загружаю после, он возвращает код успеха, но, используя сервер tomcat на linux, возвращает неверный код.см. результат:
среда linux:
плохая доходность:
{
"success": true,
"code": 200,
"msg": "操作成功",//Chinese language
"list": {
"name": "??????-v1.1.xls",//bad code
"url": "group1/M00/00/07/wKgIXVyPN52AXYgIAADOADqWDYw968.xls"
}
}
локальная среда: успешное возвращение:
{
"success": true,
"code": 200,
"msg": "操作成功",//Chinese language
"list": {
"name": "接口设计格式-v1.1.xls",
"url": "group1/M00/00/07/wKgIXVyPOliASi03AADOADqWDYw926.xls"
}
}
Я ищу мой vmare linux, который поддерживает zn_utf-8.
мой код конфигурации zull:
@Override
public Object run() {
// 接口返回相应处理
RequestContext context = RequestContext.getCurrentContext();
HttpServletRequest request = context.getRequest();
String method = request.getMethod();
String requestURI = request.getRequestURI();
System.out.println(method +"-"+requestURI);
long count = Arrays.asList(export).stream().filter(str -> str.equals(requestURI)).count();
if(count > 0) {
return null;
}
InputStream stream = context.getResponseDataStream();
try {
String body = StreamUtils.copyToString(stream, Charset.forName("UTF-8"));
Map<String, Object> parseObject = JSON.parseObject(body, Map.class);
if(parseObject.get("error") != null) {
if(parseObject.get("error").toString().equals("invalid_grant")) {
if(parseObject.get("error_description").toString().indexOf("Bad credentials") >= 0) {
body = JSON.toJSONString(WriteJson.error(990, "用户名或密码错误"));
}
if(parseObject.get("error_description").toString().indexOf("Invalid refresh") >= 0) {
body = JSON.toJSONString(WriteJson.error(991, "无效token"));
}
}
if(parseObject.get("error").toString().equals("Unauthorized")) {
body = JSON.toJSONString(WriteJson.error(992, "错误的令牌"));
}
if(parseObject.get("error").toString().equals("invalid_token")) {
body = JSON.toJSONString(WriteJson.error(993, "token已过期"));
}
}
if(parseObject.get("access_token") != null) {
Map<String, Object> map = new HashMap<>();
map.put("access_token", parseObject.get("access_token"));
map.put("refresh_token", parseObject.get("refresh_token"));
map.put("expires_in", parseObject.get("expires_in"));
body = JSON.toJSONString(WriteJson.successData(map));
}
context.setResponseBody(body);
} catch (IOException e) {
context.setResponseBody(JSON.toJSONString(WriteJson.error()));
}
return null;
}
В заключение, я нахожу сайт Spring.com, большинство людей задают этот вопрос,кодер весенней работы справился с этой проблемой, я не могу, я не знаю.