@requestBody
@PostMapping("/test")
@ResponseBody
public String test(@RequestBody String str){
return "ok";
}
@requestBody实际上用于接受的是JSON对象的字符串:如下:但是里面包含了 \t 和 \n我在加密的时候需要这样传过来的参数结果和{“carSeria”:1574,”carID”:103302}
加密后的不一致,
{
"carSeria":1574,
"carID":103302
}
所以需要
去除换行\n和空格\t
public static String replaceBlank(String str) {
String dest = "";
if (str!=null) {
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matcher m = p.matcher(str);
dest = m.replaceAll("");
}
return dest;
}
最后结果:
@PostMapping("/test")
@ResponseBody
public String test(@RequestBody String str){
System.out.println(str);
String s="{\"carSeria\":1574,\"carID\":103302}";
String ss= StringUtilss.replaceBlank(str.toString());
System.out.println(ss.toString());
System.out.println(ss == s);
System.out.println(ss.equalsIgnoreCase( s));
// Object ss=JSON.toJSON(s);
//System.out.println(ss);
return "ok";
}
输出:
{
"carSeria":1574,
"carID":103302
}
{"carSeria":1574,"carID":103302}
false
true