【发布时间】:2017-01-05 10:06:20
【问题描述】:
我用过spring和weblogic, 我有这样的方法:
@RequestMapping(value = "/all/{parentId}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<String> getAll(@PathVariable int parentId) {
StringBuffer returnValue = new StringBuffer("");
Power power = iPowerService.loadByEntityId(parentId);
makeTree(power, returnValue);
HttpHeaders responseHeaders = new HttpHeaders();
responseHeaders.add("Content-Type", "text/html; charset=UTF-8");
return new ResponseEntity<String>(returnValue.toString(), responseHeaders, HttpStatus.CREATED);
}
上述方法为树生成 xml 格式并将其作为响应发送给客户端,如下所示:
<201 Created,
<item text="primary" id="740167402" im0="Mehvar_V.png"
im1="Mehvar_V.png" im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t740167402" />
</item>
<item
text="fff"
id="740168675" im0="Mehvar_V.png" im1="Mehvar_V.png" im2="Mehvar_V.png"
isVirtual="true">
<item text="..." im0="leaf.gif" id="t740168675" />
</item>
<item text="mmmehdi" id="12" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t12" />
</item>
<item text="province" id="123" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t123" />
</item>
<item text="power" id="1234" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t1234" />
</item>
,{Content-Type=[text/html; charset=UTF-8]}>
客户端将此响应转换为树并显示它。
它已成功运行
当我迁移到 Spring Boot 时,此方法的响应将转换为如下字符串:
"<item text="primary" id="740167402" im0="Mehvar_V.png"
im1="Mehvar_V.png" im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t740167402" />
</item>
<item
text="fff"
id="740168675" im0="Mehvar_V.png" im1="Mehvar_V.png" im2="Mehvar_V.png"
isVirtual="true">
<item text="..." im0="leaf.gif" id="t740168675" />
</item>
<item text="mmmehdi" id="12" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t12" />
</item>
<item text="province" id="123" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t123" />
</item>
<item text="power" id="1234" im0="Mehvar_V.png" im1="Mehvar_V.png"
im2="Mehvar_V.png" isVirtual="true">
<item text="..." im0="leaf.gif" id="t1234" />
</item>"
如你所见""环绕我的输出
发生了什么以及为什么会发生?
为什么我的响应会向客户端发送字符串。
我希望输出与它成功工作的一样
【问题讨论】:
-
尝试将
produces = { "application/xml", "text/xml" }添加到您的@RequestMapping
标签: spring tomcat spring-boot