我有一个简单的方法,我需要将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(produce =“text / plain”)因为实际的方法有更多的逻辑,有时它会返回application / json其他text / plain,这取决于请求是否来自IE9浏览器与否。
有人可以告诉我如何在Jboss上设置contentType?
答案 0 :(得分:0)
不幸的是,我能为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));
}