繁体   English   中英

如何在Jboss EAP 6.2上设置HttpServletResponse?

[英]How to set HttpServletResponse on Jboss EAP 6.2?

我有一个简单的方法,需要将contentType更改为“ text / plain”,但是当我使用Jboss EAP 6.2时,它将被忽略,返回值为“ application / json”。

@RestController
@RequestMapping("/upload")
public class UploadController {
    ...
    @RequestMapping(method = RequestMethod.POST)
    public Result foo(MultipartFile arquivo, HttpServletResponse response) {
        response.setContentType("text/plain");
        return uploadService.saveFile(arquivo);
    }
}

我正在使用SpringMVC(剩余控制器)和Jackson来解析为JSON。 当我使用Jetty而不是Jboss时,完全相同的方法可以正常工作。

我不能使用@RequestMapping(produces =“ text / plain”),因为实际方法中包含更多逻辑,有时它会返回application / json其他text / plain,这取决于请求是否来自IE9浏览器。

有人可以告诉我如何在Jboss上设置contentType吗?

不幸的是,我可以为Jboss使用此方法的唯一方法是为IE9创建另一种方法:

@RequestMapping(value = "/ie9", method = RequestMethod.POST, produces = MediaType.TEXT_PLAIN_VALUE)
public String fooIE9(@RequestParam("arquivo") MultipartFile arquivo) throws JsonProcessingException {
    ObjectWriter ow = new ObjectMapper().writer();
    return ow.writeValueAsString(uploadService.saveFile(arquivo));
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM