“如何强制弹簧复位”;text/html";而不是",;应用程序/json;?

“如何强制弹簧复位”;text/html";而不是",;应用程序/json;?,json,spring,spring-mvc,file-upload,response,Json,Spring,Spring Mvc,File Upload,Response,我有一个文件附件插件(),它要求返回的json类型为“text/html”。我正在开发的web应用程序使用Spring框架,它强制返回类型为“application/json”。我希望json以“text/html”的形式返回。因为返回的json是“application/json”类型,所以我得到了一个文件下载对话框,这是用户不应该看到的(文件应该自动上传) @RequestMapping(value=“attachmentUpload”,method=RequestMethod.POST)

我有一个文件附件插件(),它要求返回的json类型为“text/html”。我正在开发的web应用程序使用Spring框架,它强制返回类型为“application/json”。我希望json以“text/html”的形式返回。因为返回的json是“application/json”类型,所以我得到了一个文件下载对话框,这是用户不应该看到的(文件应该自动上传)

@RequestMapping(value=“attachmentUpload”,method=RequestMethod.POST)
public@ResponseBody地图附件上传(
@ModelAttribute(“fileUploadFB”)@有效的最终FileUploadFormBean fileUploadFB,
绑定结果结果,
会话状态会话状态,
HttpServletResponse(响应){
最终映射结果映射=新HashMap();
结果映射put(“成功”、“正确”);
//试图强制文本/html无效;无效
setContentType(“text/html;charset=UTF-8”);
setHeader(“内容类型”、“文本/html”);
返回结果图;
}

如果有人有任何建议,我们将不胜感激

我不再返回哈希映射;返回一个字符串并将“products=“text/html”添加到RequestMapping工作

传入的
Accept
标题的内容是什么?我认为它是“text/html”。。。除非我遗漏了什么。这是我在控制器或插件中设置的吗?传入请求将指定这一点。我在哪里设置传入请求?我仍在学习:)@user1529955在您的情况下,可能是浏览器/网页发出了请求。
@RequestMapping(value="attachmentUpload", method=RequestMethod.POST)
public @ResponseBody Map<String, String> attachmentUpload(
        @ModelAttribute("fileUploadFB") @Valid final FileUploadFormBean fileUploadFB,
        BindingResult result,
        SessionStatus sessionStatus,
        HttpServletResponse response) {

    final Map<String, String> resultMap = new HashMap<String, String>();

    resultMap.put("success", "true");

    // vain attempts to force text/html; do not work
    response.setContentType("text/html;charset=UTF-8");
    response.setHeader("Content-Type", "text/html");

    return resultMap;
}