@PostMapping(value = { "/hxz/v1/ConsumTransactions" }, produces="application/json;charset=UTF-8")
@ResponseBody
public Object payConsume(@RequestBody Map params) {
String cardNo = params.get("CardNo").toString();
System.out.println(cardNo);
if (cardNo.equals("0009406647")) {
Map<String, Object> map = new HashMap<>();
map.put("Status",0);
map.put("Msg","Invalid card");
return map;
}else {
Map<String, Object> map = new HashMap<>();
map.put("Status",1);
map.put("Msg","error");
return map;
}
}
上面这段不报错,但是我把它改成
produces="application/json;charset=gb2312" 就报错了。
错误 提示:
"status": 500,
"error": "Internal Server Error",
"trace": "org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.util.HashMap] with preset Content-Type 'null'\r\n\tat org.springframework.web.。。。。。。。。。。
"message": "No converter for [class java.util.HashMap] with preset Content-Type 'null'",
"path": "/hxz/v1/ConsumTransactions"
说明这里的json数据是utf-8编码的,你改成其他编码格式所以报错了
方法的参数里面加入response对象,设置ContentType
你把页面提交的编码方式改为utf-8不就行了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632