有两种方法可以自定义响应的 HTTP 状态代码。 一种是在方法上添加@注解,另一种是在方法内部使用.()方法。
标注方法
@一般作用于异常类或方法。 带有@注解的异常类会被解析,同时可以实现一些自定义的异常并显示在页面上。
应用于方法时,状态码会被修改
例子:
@RequestMapping("/204test") @ResponseStatus(value=HttpStatus.NO_CONTENT) public void ping(HttpServletResponse response) throws Exception { System.out.println("20444"); }
。()方式
例子:
public ModelAndView respond(HttpServletResponse response) throws Exception { response.setStatus(status); response.setContentType(contentType); response.setHeader("Content-Disposition", "Inline; filename=" + jobName + "Properties.csv"); response.getWriter().write(message); return null; } }
http状态码406(不是)我们先看406状态码的解释
—HTTP 406 错误是 HTTP 协议状态代码的一种,表示请求的内容特征无法用于响应请求的网页。
大致意思是请求和程序都没有问题,但是无法解析响应内容。
这时候我就想到返回的是一个对象。 如果页面需要接受它,则需要支持。 我果断想到了问题所在:丢包。 修改pom后,
问题成功解决! !
以上是我的个人经验,希望可以给大家参考,也希望大家多多支持 House。