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

网站建设市区苏州网站开发公司排名

网站建设市区,苏州网站开发公司排名,免费素材大全视频,网站备案号查询拦截异常 在Spring Boot中#xff0c;我们可以将异常统一放在全局处理类来处理#xff0c;创建一个全局异常处理类需要用到ControllerAdvice和ExceptionHandler注解。 ControllerAdvice类似一个增强版的Controller#xff0c;用于标注类#xff0c;表示该类声明了整个项目…拦截异常 在Spring Boot中我们可以将异常统一放在全局处理类来处理创建一个全局异常处理类需要用到ControllerAdvice和ExceptionHandler注解。 ControllerAdvice类似一个增强版的Controller用于标注类表示该类声明了整个项目的全局资源 ExceptionHandler类似catch语句标注一个方法用于处理异常。而这个方法可以有返回值类似Controller的返回值 ExceptionHandler可以传入一个参数为异常类的Class对象 接下来举个例子 创建一个exception包在这个包下面写入一个异常处理类 package com.example.c0101.exceptionimport org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseBodyControllerAdvice class GlobalExceptionHandle {ExceptionHandler(NullPointerException::class)ResponseBodyfun handler(): String{return 参数不能为空}} 这表示当遇到空指针异常时向前端发送消息“参数不能为空” 接下来创建一个controller包。在这个包下面写一个控制器类 package com.example.c0101.controllerimport org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestControllerRestController class TestController {RequestMapping(/index)fun index(name: String): String{return 您的用户名是$name}} 在/index的URI下用户需要传入一个name参数如果用户没有传入则会触发空指针异常调用我们之前写的异常处理类 我们使用postman测试一下 可以看到如果我们不传入name参数则会调用异常处理类并返回“参数不能为空”  获取异常日志 我们可以使用slf4j打印异常日志 log.error(参数为空, e) 这里面log.error可以接受两个参数第一个是提示字符串第二个是异常对象 修改异常处理类如下 package com.example.c0101.exceptionimport org.slf4j.LoggerFactory import org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseBodyControllerAdvice class GlobalExceptionHandle {companion object{val log LoggerFactory.getLogger(GlobalExceptionHandle::class.java)}ExceptionHandler(NullPointerException::class)ResponseBodyfun handler(e: NullPointerException): String{log.error(参数为空, e)return 参数不能为空}} 这样我们就可以在出现异常时打印异常日志了。用postman不传入参数发现控制台输出 说明我们成功的在日志中输出了错误信息  修改异常状态下的响应码 我们可以通过ResponseStatus注解设置响应码如 ResponseStatus(HttpStatus.BAD_REQUEST) 修改异常处理类使其能够在出现空指针异常时返回400Bad Request状态码 package com.example.c0101.exceptionimport org.slf4j.LoggerFactory import org.springframework.http.HttpStatus import org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler import org.springframework.web.bind.annotation.ResponseBody import org.springframework.web.bind.annotation.ResponseStatusControllerAdvice class GlobalExceptionHandle {companion object{val log LoggerFactory.getLogger(GlobalExceptionHandle::class.java)}ExceptionHandler(NullPointerException::class)ResponseBodyResponseStatus(HttpStatus.BAD_REQUEST)fun handler(e: NullPointerException): String{log.error(参数为空, e)return 参数不能为空}} 用postman不加参数测试一下 可以看到服务器最终返回了400状态码 只拦截某个包下发生的异常 我们可以通过ControllerAdvice的默认属性或basePackages属性只拦截某个包下发生的异常 ControllerAdvice(com.example.c0101.controller) ControllerAdvice(basePackages [com.example.c0101.controller]) 只拦截被某个注解标注的类发生的异常 我们可以通过ControllerAdvice的annotations属性只拦截某个注解标注的类发生的异常 ControllerAdvice(annotations [RestController::class]) 拦截自定义异常 我们可以在exception包下自定义异常并使用拦截普通异常的方法拦截自定义异常 package com.example.c0101.exceptionclass MyException(msg: String) : Exception(msg) 在异常处理类里设置要拦截的异常 ExceptionHandler(MyException::class) ResponseBody fun handler(e: MyException): String{log.error(自定义异常, e)return 出现自定义异常 } 这样就可以拦截自定义异常了
http://www.pierceye.com/news/597748/

相关文章:

  • 建设配资网站有要求吗网站的内部链接如何做
  • 济南专业做公司网站的机构评价一个网站的优缺点
  • 广东省石油化工建设集团公司网站炫酷个人网站
  • 石家庄模板建站代理什么网站可以自己做字
  • 公司想做个网站应该怎么做河南郑州网站设计公司
  • 建电影网站赚钱挣钱吗网站互动功能
  • 流浪动物网站开发巴中手机网站建设
  • 吕梁网站建设kuyiso手机网站建设 jz.woonl
  • 电脑和手机都能浏览的网站开发设计学类包括哪些专业
  • 网站规划与建设评分标准网站中竖导航栏怎么做
  • 网站备案规定周到的商城网站建设
  • 考幼师证去哪个网站做试题如何分析网站建设
  • 济南智能网站建设哪家好化工网站建设推广
  • 福州 网站定制设计稿定设计官方免费下载
  • 统计局网站建设情况南宁做网站优化的公司
  • 免费的软件网站建设北京建设厅网站查询
  • 没有公司做网站短网址短链接生成器
  • 利于seo优化的网站网站怎么上传到空间
  • 寿阳网站建设开发网站的硬件成本
  • 做网站的叫什么软件众筹网站开发
  • 鲜花网网站开发的目标河南郑州建设网站
  • 做网站上哪买空间帝国网站管理系统安装连接不上数据库
  • 做前端网站用什么工具网站备案后怎么做实名认证
  • 做兼职那个网站比较好重庆的seo服务公司
  • 网站建设流费用南通seo排名公司
  • 河北邢台移动网站建设单片机做网站
  • 佛山网站制作的公司做文库网站怎么赚钱吗
  • 博客网站 做淘宝客咸阳网站建设推广
  • 佛山手机网站建设优化做网站要多大的画布
  • 网站结构优化包括什么网站建设定制开发