입금 매칭
목차
입금 매칭 및 파트너 권한/설정 개선
입금 매칭 및 파트너 권한/설정 개선 기능을 구현했음.
배경
기능 확장에 따라 관리 편의성과 사용자 경험을 높이기 위해 구현했음.
구현 방식
내부 클래스 6개를 작성했음.
코드 예시
// 핵심 로직
public void execute(Request request) {
validate(request);
Result result = process(request);
saveResult(result);
log.info("처리 완료: {}", result.getId());
}
검토 포인트
기능 추가 시 엣지케이스와 예외 처리를 먼저 정의하면 나중에 버그를 줄일 수 있음. 특히 null 처리와 상태 전환 조건을 명확히 해야 함.
정리
총 6개 파일 변경으로 기능을 완성했음. 정상 동작 확인 후 배포했음.
보안 고려사항
이번 변경에서 보안 측면을 함께 검토했음.
입력 검증: 외부에서 들어오는 파라미터는 항상 서버에서 재검증함. 클라이언트 검증만으로는 부족함.
권한 확인: 요청자가 해당 리소스에 접근 권한이 있는지 확인했음. 타인의 데이터를 조회/수정하는 API는 소유자 확인이 필수임.
// 소유자 확인 예시
if (!resource.getOwnerId().equals(loginUserId)) {
throw new AccessDeniedException("접근 권한이 없습니다");
}
로그: 민감한 데이터(금액, 개인정보)는 로그에 마스킹해서 남겼음.
다음
댓글 0
첫 댓글 달아줘.