开发者

SpringMVC如何自定义响应的HTTP状态码

目录
  • 自定义响应的HTTP状态码
    • 注解方式
    • response.setStatus()方式
  • http状态码40编程6(Not Acceptable)
    • 先看看406状态码解释

自定义响应的HTTP状态码

SpringMVC自定义响应的HTTP状态码有两种方法,一种是在返回方法上面加上@ResponseStatus注解,另一个种是在方法内部使用response.setStatus()方法。

注解方式

@ResponseStatus一般是作用在php异常类或者方法上,带有@ResponseStatus注解的异常类会被ResponseStatusExceptionResolver 解析,可以实现自定义的一些异常,同时在页面上进行显示。

作用在方法上时,将会修改response的状态码

示例:

@RequestMapping("/204test")
@ResponseStatus(value=HttpStatus.NO_CONTENT)
public void ping(HttpServletRespandroidonse response) throws Exception {
  System.out.println("20444");
}

re开发者_C开发sponse.setStatus()方式

示例:

 public ModelAndView respond(HttpServletResponse response) throws Exception {
  response.setStatus(status);
  response.setContentType(contentType);
  response.setHeader("Conte编程客栈nt-Disposition", "Inline; filename=" + jobName + "Properties.csv");
  response.getWriter().write(message);
  return null;
 }
}
js

http状态码406(Not Acceptable)

先看看406状态码解释

—HTTP 406错误是HTTP协议状态码的一种,表示无法使用请求的内容特性来响应请求的网页

大概意思就是请求和程序是没有问题的,但是响应内容无法解析

SpringMVC如何自定义响应的HTTP状态码

这个时候想到返回的是一个对象,页面需要接受的话需要Jackson的支持,果断想到问题:缺少Jackson包,修改pom后update project

问题成功解决!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜