编辑
2023-03-14
实用工具
00
请注意,本文编写于 751 天前,最后修改于 626 天前,其中某些信息可能已经过时。

目录

前提
代码

前提

很多时候程序出现的异常并不是,我们在enum里定义好的那些,大部分是程序运行时的异常,为了返回值的统一性,我们需要对那些突然出现异常进行操作

代码

java
package com.lhw.management.config; import com.lhw.common.Result; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.SneakyThrows; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.MethodParameter; import org.springframework.http.MediaType; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.server.ServerHttpRequest; import org.springframework.http.server.ServerHttpResponse; import org.springframework.web.bind.annotation.RestControllerAdvice; import org.springframework.web.servlet.mvc.method.annotation.ResponseBodyAdvice; /** * 描述:拦截Controller方法的返回值,统一处理返回值/响应体 * @author lihaowei */ @RestControllerAdvice(basePackages = {"com.ewell.medai.connotation.qc.management.controller"}) public class ResultAdvice implements ResponseBodyAdvice<Object> { @Autowired private ObjectMapper objectMapper; @Override public boolean supports(MethodParameter methodParameter, Class<? extends HttpMessageConverter<?>> aClass) { return true; } @SneakyThrows @Override public Object beforeBodyWrite(Object o, MethodParameter methodParameter, MediaType mediaType, Class<? extends HttpMessageConverter<?>> aClass, ServerHttpRequest serverHttpRequest, ServerHttpResponse serverHttpResponse) { if(o instanceof String){ return objectMapper.writeValueAsString(Result.success(o)); } if(o instanceof Result){ return o; } return Result.success(o); } }

本文作者:Weee

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!