资讯动态

统一 功能

发布时间:2026/11/6 3:48:13 来源:尧图企业网站定制
1.统一数据返回格式1.实现ResponseBodyAdvice接口添加ControllerAdvice注解为什么要加ControllerAdvice注解加上ControllerAdvice才会把这个类变成全部控制器增强类SpringMVC才会识别它调用里面的逻辑Spring启动扫描的时候才知道这个类是用来【统一拦截所有Controller的返回值做增强处理的】。不加ControllerAdvice Spring不会识别它。生效时机以下情况的接口返回结果时才会被supports判断1.只在类上加RestController2.只在类上加ResponseBody3.类注解Controller方法注解ResponseBody说明类注解RestControllerControllerResponseBody总结就是能不能经过supports判断看的是接口方法有没有ResponseBody注解。supports返回true——》走beforeBodyWrite统一包装返回结果。2.support返回true对结果进行处理——》执行beforeBodyWrite方法返回false不对结果处理3.breforeBodyWrite参数body是目标方法的返回值。4.应用未开启前false开启后true5.注意如果body本来就是Result就不要再封装6.返回类型是String时需要额外处理1.如果【目标方法】返回值是【String】会出现什么结果2.String与Result不匹配问题上述代码执行后报错报错时机是在【目标方法执行后统一数据返回格式时】所以此时目标方法已经执行成功数据库中的值已经被修改那么此时返回500是不合理的3.解决方法String转为json格式的字符串4.为什么会报错String与Result格式不匹配2.统一异常处理1.打印错误日志注意不要加{}

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑