SecurityResponseSender.java
package qwerty.chaekit.global.util;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import qwerty.chaekit.global.response.ApiErrorResponse;
import qwerty.chaekit.global.response.ApiSuccessResponse;
import java.io.IOException;
@Slf4j
@Component
@RequiredArgsConstructor
public class SecurityResponseSender {
private final ObjectMapper objectMapper;
public void sendError(HttpServletResponse response, int status, String code, String message) {
sendResponse(response, status, ApiErrorResponse.of(code, message));
}
public <T> void sendSuccess(HttpServletResponse response, T data) {
sendResponse(response, HttpServletResponse.SC_OK, ApiSuccessResponse.of(data));
}
private void sendResponse(HttpServletResponse response, int status, Object object) {
response.setStatus(status);
response.setContentType("application/json;charset=UTF-8");
try {
response.getWriter().write(objectMapper.writeValueAsString(object));
} catch (IOException e) {
log.error("Object mapping 실패", e);
}
}
}