我相信问题是Spring将默认内容类型设置为
application/octet-stream,浏览器无法那样读取XML。相反,您实际上需要
Content-Type通过
HttpServerletResponse或使用Spring的来设置标头
ResponseEntity。
@RequestMapping(value="getSVG")public @ResponseBody ResponseEntity<String> getSVG(HttpServletRequest request, HttpServerletResponse response) { String SVG = // build the SVG XML as a string HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.valueOf("image/svg+xml")); ResponseEntity<String> svgEntity = new ResponseEntity<String>(svg, headers, HttpStatus.OK); return svgEntity;}您拥有XML的
String事实并不重要,您本可以用来
getBytes()制作内容的
byte[]。您也可以使用
Resource该类使Spring直接从类路径或文件系统资源获取字节。您将相应地进行参数化
ResponseEntity(有许多受支持的类型)。



