Spring Cloul Zuul Mutiparfile результат загрузки плохой код - PullRequest
0 голосов
/ 18 марта 2019

Недавно я изучал 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"
   }
  }

enter image description here

Я ищу мой 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, большинство людей задают этот вопрос,кодер весенней работы справился с этой проблемой, я не могу, я не знаю.

...