tomcat - 避免使用 Spring MVC @RequestMapping 发送 Tomcat 错误页面的最简单方法是什么?

标签 tomcat spring-mvc

我已经尝试了几种不同的方法,包括@ExceptionHandler,以及使用 HttpServletResponse 作为映射方法的参数。

@RequestMapping(value="/update", method=RequestMethod.POST)
public ResponseEntity<String> update(final HttpEntity<String> requestEntity) {
    try {
        // stuff
        return new ResponseEntity<String>("", HttpStatus.NO_CONTENT);
    } catch (MyDataException e) {
        return new ResponseEntity<String>(e.toJSONString(), HttpStatus.BAD_REQUEST);
    }
}

我只想要 toJSONString 的内容作为响应主体。但是,在设置了 HttpStatus.BAD_REQUEST 值后,系统使用默认的 Tomcat 错误页面。如果我不将其设置为错误状态,它会按照我的意图创建主体。但是我必须设置错误状态。

正如我所说,我已经在 Spring MVC API 中尝试了四种不同的方式,它们最终看起来都像是调用了 sendError() 而不是以我想要的方式处理响应。

最佳答案

这实际上是 PEBKAC 的一个案例,或者更确切地说,未能识别出编写不当的 http 代理正在主动用 Tomcat 错误页面替换响应正文。

关于tomcat - 避免使用 Spring MVC @RequestMapping 发送 Tomcat 错误页面的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11249336/

相关文章:

apache - 可能是端口错误

java - 在jsp页面中获取LinkedHashMap中存储的元素

java - 有没有办法在多个客户端和服务器提交后显式提交和回滚事务

java - 将带有路径变量的字符串返回到另一个 Controller

java - Spring框架有命令行界面吗

java - 从 Tomcat 获取日志

java - 删除临时文件

java - 使用 ~100% CPU 和 250 TPS 测试的 Web 应用程序

tomcat - 无法在 Access Management 5.1 中创建 Web 策略代理配置文件

java - Spring MVC 中的输入验证