当前位置: 首页 > news >正文

合肥有哪些做网站的公司域名查询ip爱站网

合肥有哪些做网站的公司,域名查询ip爱站网,新都区网站建设,政府企业网站建设的意义目录 概述: 用途: 参数: 注意事项: 自定义异常类: 底层原理: 概述: 在 Spring MVC 中,我们有很多方法来设置 HTTP 响应的状态码其中最直接的方法:使用 ResponseSt…

目录

概述:

用途:

参数:

注意事项:

自定义异常类:

底层原理:


概述:

  • 在 Spring MVC 中,我们有很多方法来设置 HTTP 响应的状态码
  • 其中最直接的方法:使用 @ResponseStatus 注解
  • 它将一个方法或异常类标注一个应返回的HTTP状态码(code())和原因说明(reason())(即将特定的HTTP状态码和原因与一个控制器方法或异常类相关联)

用途:

  • 在方法上使用:当你想要显式声明一个Spring MVC控制器方法完成后应该返回的HTTP状态码时,可以在该方法上使用@ResponseStatus;例如,可以将201 CREATED状态码关联到创建资源的操作上
  • 在异常上使用:你可以创建一种异常,当该异常被抛出时,自动返回指定的HTTP状态码;在异常类上使用@ResponseStatus可以直接将异常映射到HTTP状态响应中

参数:

  • value/code:用于指定HTTP状态码
  • reason:可选参数,用于提供状态码的原因描述;这个描述将被发送到客户端

注意事项:

  • 当处理器方法被调用时,该状态码将被加入到HTTP响应中,但是不会覆盖其他方式所设置的状态信息,例如通过ResponseEntity或"Redirect"设置的信息,因为 ResponseEntity 对象包含了完整的响应信息,会优先使用
  • 警告:在异常类上使用这个注解,或当设置这个注解的reason属性时,将会使用HttpServletResponse.sendError方法
  • 在HttpServletResponse.sendError被使用后,响应被视为已完成,不应该再进行进一步的写入
  • 另外,Servlet容器通常会创建一个HTML错误页面,因此使用reason对于REST API而言是不合适的,因为REST调用通常预期接收JSON或XML格式的响应体
  • 对于这种情况,最好是使用ResponseEntity作为返回类型,并避免使用@ResponseStatus注解
  • 注意:一个控制器类也可以被标注为@ResponseStatus,这样它就会被该类以及其子类中所有使用@RequestMapping和@ExceptionHandler的方法继承,除非这些方法通过本地@ResponseStatus声明进行了覆盖

自定义异常类:

  • 在Spring Boot中,可以通过在自定义的异常类上使用@ResponseStatus注解来设置HTTP状态
  • 当这个异常被抛出时,就会返回设置的状态对应的响应
  • 需要注意的是,必须继承非检查异常(RuntimeException及其子类)

底层原理:

  • 注解底层还是通过设置 response.setStatus 来实现
  • 在@RequestMapping方法执行完成,Spring解析返回值之前,进行了responseStatus设置
  • 代码片段位于:org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod#setResponseStatus
  • this对象指当前的ServletInvocableHandlerMethod,看到@ResponseStatus的reason不为空,就调用response.sendError;reason为空,就调用setStatus方法仅仅设置响应状态码
  • 代码片段位于:org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod#invokeAndHandle
  • 发现如果ServletInvocableHandlerMethod的responseReason有值,也就是@ResponseStatus有reason属性,@RequestMapping方法返回值都不处理了,直接返回
  • 也就是说只要有@ResponseStatus的reason属性标注在处理器Controller类或者方法上,比如响应状态码code设置为404,reason设置为页面没找到,那 tomcat 展示界面是大概这样,展示信息就是我们写的reason属性
  • @ResponseStatus(code=A,reason=B)标注在@RequestMapping方法上,作用效果与response.sendError(A,B)是一样的
http://www.dt0577.cn/news/7768.html

相关文章:

  • ipc网站备案查询亚马逊提升关键词排名的方法
  • 有没有专门做批发的网站最新新闻事件摘抄
  • 自己做网站要会什么软件网站优化seo培
  • 私人承接做网站多少钱搜狗优化排名
  • 怎么做网站动态地图迅雷磁力
  • 网站开发团队职能没有限制的国外搜索引擎
  • 做购物网站的引言怎么办网站平台
  • 住房和城乡建设部网站施工员成都网络推广
  • 重庆公司网站设计制作裂变营销五种模式十六种方法
  • led外贸网站制作永久免费域名申请
  • 做网站被抓网站搜索排优化怎么做
  • wordpress中文cms主题模板seo网页优化服务
  • 南阳网站优化费用口碑营销案例有哪些
  • 自己电脑做网站教程济源新站seo关键词排名推广
  • 徐家汇做网站资讯门户类网站有哪些
  • 公司网站域名到期seo门户 site
  • 佛山模板网站建设百度一下搜索引擎
  • 建设部质监局信息查询官方网站怎么做营销推广
  • asp网站开发设计文档营销的概念是什么
  • 深圳做网站 汉狮网络西安seo高手
  • 合肥住房城乡建设部的网站seo搜索排名影响因素主要有
  • 网站中图片下移怎么做百度平台app下载
  • 网站源码怎样弄成网站semester
  • 美女教师做爰网站全球搜索引擎排名2021
  • 简单微信小程序制作潍坊百度快速排名优化
  • 网站建设访问对象个人网站网页首页
  • 苏州建设网站平台长尾关键词挖掘工具爱网站
  • 重庆网站seo建设网络营销主要有哪些特点
  • wordpress自定义邮件模板下载地址萌新seo
  • 免费域名注册可解析网站seo优化方案