Spring Boot 요청 매개변수 검증 구현하기

스프링 부트 애플리케이션에서 interceptor와 filter를 활용하여 요청 매개변수의 유효성을 검증하는 방법을 알아본다. 1. HttpServletRequestWrapper 재정의하여 본문 읽기 요청 본문(request body)을 읽기 위해 HttpServletRequestWrapper를 상속하는 클래스를 만든다. 파일 업로드 케이스도 함께 처리한다. import org.springframework.web.multipart.support.Standar ...

7월 26일 18:19에 게시됨

Playwright MCP 기반의 지능형 브라우저 자동화 에이전트 구축

Playwright는 최근 MCP(Model Context Protocol)를 지원하며 AI 모델이 웹 브라우저를 직접 제어할 수 있는 표준화된 인터페이스를 제공합니다. 이를 통해 단순한 스크립트 실행을 넘어, LLM(대형 언어 모델)이 웹 페이지의 상태를 이해하고 동적으로 상호작용하는 자동화 에이전트를 구축할 수 있습니다. 1. Playwright MCP 환경 설정 Playwright MCP는 Node.js 환경에 ...

7월 23일 10:32에 게시됨

MyBatis-Plus 열거형(Enum) 매핑 메커니즘 분석 및 최적의 활용법

MyBatis-Plus의 열거형 처리 개요 MyBatis를 사용할 때 가장 번거로운 작업 중 하나는 Java의 열거형(Enum)과 데이터베이스의 컬럼 값을 매핑하는 것입니다. 기본적으로 MyBatis는 열거형의 이름(String)이나 순서(Ordinal)를 저장하지만, 실제 비즈니스 환경에서는 특정 코드값(예: 1, 10, 20)을 저장해야 하는 경우가 많습니다. MyBatis-Plus는 MybatisEnumTypeHandler를 ...

7월 20일 04:00에 게시됨

Spring Boot 기반 Elasticsearch 과거 인덱스 정리 자동화 프로그램 개발

배경 및 목적 Elasticsearch는 대량의 로그나 이벤트 데이터를 실시간으로 검색할 수 있는 강력한 도구이지만, 시간이 지남에 따라 저장 용량이 급격히 증가하는 문제가 발생합니다. 특히 일자별로 인덱스를 생성하는 경우, 오래된 인덱스가 누적되어 클러스터 성능 저하 및 디스크 부족 현상이 나타날 수 있습니다. 기존에는 cron 기반 스크립트로 특정 날짜의 인덱스를 ...

7월 17일 01:03에 게시됨

스pringboot 파일 업로드

스pringboot 파일 업로드 데이터베이스 테이블 생성 DROP TABLE IF EXISTS `file`; CREATE TABLE `file` ( `id` int(0) NOT NULL, `filename` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '파일명', `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '파일 경로', ...

7월 15일 22:37에 게시됨

Spring AI 고급 활용 - 대화 기록 전달 및 모델 파라미터 조정

개요 이전 문서를 통해 Spring AI에서 OpenAI 통합과 함수 호출(Function Call) 방법을 익혔다면, 이제 보다 심화된 기능들을 살펴보겠습니다. 특히 이전 대화 내역을 어떻게 전달하고, 모델의 동작을 제어하는 다양한 파라미터를 설정하는지에 중점을 두고 설명합니다. 핵심 개념 Spring AI란? Spring AI는 자바 기반 AI 애플리케이션 개발을 간소화하기 위해 설계된 스 ...

7월 14일 00:26에 게시됨

Spring Kafka 통합 시 Brave Instrumentation 제거 후 발생하는 오류 해결 방법

문제 상황 마이크로서비스 프로젝트에서 spring-kafka를 추가하고 brave-instrumentation-kafka-clients를 제거한 후 애플리케이션 시작 시 다음과 같은 오류가 발생했습니다: Error processing condition on org.springframework.cloud.sleuth.instrument.messaging.TraceMessagingAutoConfiguration$SleuthKafkaConfiguration.kafkaTracing at org.springframework.b ...

7월 13일 03:00에 게시됨

Spring Boot 기반의 위챗페이(WeChat Pay) PC 결제 환불 API 연동 및 구현 가이드

위챗페이 결제 연동의 마지막 단계 중 하나인 환불 인터페이스 구현은 비즈니스 로직에서 매우 중요한 비중을 차지합니다. 본 가이드에서는 Spring Boot 3.1.x 환경을 바탕으로 PC 웹 환경에서 위챗페이 V3 API를 사용하여 환불을 신청하고, 그 결과를 처리하는 전체 프로세스를 다룹니다. 1. 위챗페이 환불 프로세스 개요 환불은 결제 완료 후 일정 기간(보통 1년 이내) ...

7월 10일 18:23에 게시됨

스프링 부트에서 Chuanglan 253 SMS 인증 연동

스프링 부트 프로젝트에서 SMS 인증 기능을 구현하기 위한 설정 및 코드 예시입니다. 1. SMS 설정 프로퍼티 sms.url= sms.username= sms.password= 실제 값은 Chuanglan 공식 사이트에서 확인 가능합니다. 2. 요청 데이터 모델 public class SmsRequest { private String user; private String pass; private String content; private String variables; priv ...

7월 8일 19:22에 게시됨

JWT 인증 및 Redis 통합 가이드

프로젝트 구성 단계별 안내 1. 프로젝트 생성 Java 8을 기준으로 새 프로젝트를 생성합니다. 2. Maven 설정 및 의존성 추가 pom.xml에 필요한 의존성을 추가합니다. <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </de ...

7월 6일 16:10에 게시됨