1、springboot项目统一包装返回值,通常返回结果包含code、message、data,结构如下
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResponseResult<T> {
private int code;
private String message;
private T data;
public ResponseResult(T data) {
this.data = data;
this.code = 0;
this.message = "success";
}
}
2、基于ControllerAdvice和HttpMessageConverter实现
定义类ResponseAdvisor实现ResponseBodyAdvice接口,重写supports跟beforeBodyWrite方法
import org.springframework.core.MethodParameter;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.server.ServerHttpRequest;
import org.springframework.http.server.Serve