我打算以以下格式发送服务器响应 Api Doc
我做了以下
headersR.add("response_code", "OK");
headersR.add("cmd_code", "SET_FK_NAME");
headersR.add("trans_id", Long.toString(System.currentTimeMillis()/1000000));
JSONPObject map1 = new JSONPObject("fk_name", "jj");
return new ResponseEntity<>(map1, headersR, HttpStatus.OK);
我从另一端得到否定的响应,所以我检查了Wireshark(很难记录我的响应正文)。而我在Wireshark中得到了这个。
响应主体绝对不是JSON。 我该如何解决?
答案 0 :(得分:0)
响应正文fk_name("jj")
不是JSON,而是JSONP -浏览器将使用函数名称fk_name
并尝试以"jj"
作为参数来执行。
根本原因是您正在使用JSONPObject,其构造函数接受2个参数:函数名和数据值。不是预期的JSON键和值。
要解决此问题并返回{"fk_name":"jj"}
,请删除JSONPObject内容并使用如下代码:
return new ResponseEntity<>("{\"fk_name\":\"jj\"}", headersR, HttpStatus.OK);