| | |
| | | if (token == null || "".equals(token)){ |
| | | return ResponseEntity.ok("token为空"); |
| | | } |
| | | // 解析token,获取用户信息 |
| | | try { |
| | | OpenCryptUtil openCryptUtil = new OpenCryptUtil(); |
| | | String decrypt = openCryptUtil.decrypt(token); |
| | | System.out.println(decrypt); |
| | | System.out.println("----------------"); |
| | | // 1. 去除外层多余的引号 |
| | | String jsonStr = decrypt.replaceAll("^\"|\"$", ""); |
| | | // 处理后:{"name":"ceshi"}(但实际可能仍包含转义字符) |
| | | |
| | | // 2. 处理剩余的转义字符(将 \" 转换为 ") |
| | | jsonStr = jsonStr.replace("\\\"", "\""); |
| | | |
| | | // 3. 解析 JSON |
| | | // 使用 ObjectMapper 反序列化,避免手动处理转义字符 |
| | | ObjectMapper objectMapper = new ObjectMapper(); |
| | | String name = objectMapper.readTree(jsonStr).get("name").asText(); |
| | | JsonNode root = objectMapper.readTree(decrypt); |
| | | String name = root.get("name").asText(); |
| | | |
| | | // 返回用户信息 |
| | | return ResponseEntity.ok(name); |
| | | } catch (Exception e) { |
| | | // 捕获所有异常,避免500错误 |
| | | return ResponseEntity.badRequest().body("解析失败: " + e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | @GetMapping("/getToken") |