package com.pharmacopoeia.config;
import com.pharmacopoeia.dto.ApiResponse;
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;
/**
* 对标记了 {@link UnifiedResponse} 的 Controller / 方法,
* 自动将返回值包装为统一的 {@link ApiResponse} 格式:
* {@code {code: 200, message: "ok", data: <原返回值> }}。
*
*
* - 已经是 ApiResponse → 不包装
* - 流式(Flux / SSE)→ 不会进入此 Advice
*
*/
@RestControllerAdvice
public class UnifiedResponseBodyAdvice implements ResponseBodyAdvice