系统间接口联调总是报500 for URL 和 乱码

时间:2023-03-09 16:51:45
系统间接口联调总是报500 for URL 和 乱码

两个系统做数据传输时,懒省事,直接访问 action 方式。结果总是报500,或者fileNotFount。

究其原因是因为两边的数据格式没对应上。post请求返回的格式是String,数据提供方返回的数据格式Map啊JSON啊都不怎么对。只得返回了json.toString.。记录一下,欢迎拍砖指导。

net.sf.json.JSONObject obj = net.sf.json.JSONObject.fromObject(resultMap);

        try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/plain, utf-8");
PrintWriter out = response.getWriter();
out.print(obj.toString());
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
} // return obj.toString();
return obj.toString();  直接返回这个接受方会出现乱码。
关于乱码这个问题,网上也有其他解决方案:比如 mapping中增加produces

@Controller
@RequestMapping(value = "/query", produces = "text/html;charset=UTF-8")
public class QueryController {

@RequestMapping(value = "***",produces={"application/json;","text/html;charset=UTF-8;"})

可参见

http://blog.csdn.net/u010979495/article/details/50610856