전체 글

정상훈 삽질 기록 창고
Backend

<Spring> Success Custom Response 적용하기

📌 기존 프로젝트 프로젝트에서 커스텀 리스폰스를 이용하여 API response를 보내주기로 했었다. @GetMapping(value = "") @Operation(summary = "팀플 상세 정보 조회", description = "팀플 상세 정보 조회 API 입니다.") public CommonResponse getTeamDetail(@AuthUser User authUser, @Valid @RequestParam("teamId") Long teamId) { log.info("[api-get] 팀 상세 정보 가져오기"); GetTeamDetailDto teamDetail = teamsService.getTeamDetail(authUser, teamId); return CommonResponse.on..

Backend

<Spring> 공통 에러 핸들러 구현하기

📌 스프링 에러 처리 방법 스프링은 프로그램 작동 중 여러 에러를 발생시킨다. 이에 에러를 처리할 수 있는 방법이 존재한다. 🔹 try-catch try { Jwts.parserBuilder().setSigningKey(getSecretKey()).build().parseClaimsJws(token); return true; } catch (io.jsonwebtoken.security.SecurityException | MalformedJwtException e) { log.info("Invalid JWT Token", e); } 단순한 try-catch를 사용한 예외처리이다. 이를 사용한다면 에러를 처리할 수 있으나, 코드의 중복이 많이 발생할 것이다. 🔹 @ControllerAdvice 위 어노테이션..

Infra

<Infra> Spring Slack 메세지 전송 (Incoming Webhook)

📌 슬랙 연결 방법 선택 구현할 기능이 메세지 전송이기 때문에 위 방법 중에서, Web API 혹은 Webhook을 사용할 수 있다. Slack API: Slack에서 제공하는 다양한 기능(메세지, 채널 관리, 파일 업로드, 유저 정보)을 사용할 수 있는 인터페이스이다. Slack API를 사용하는 경우 API 토큰이 필요하며, 해당 토큰을 사용하여 인증 및 권한 부여를 받아야 한다. Slack Incoming Webhook: Slack Incoming Webhook은 새로운 메시지를 특정 채널에 자동으로 게시할 수 있는 방법이다. Incoming Webhook을 생성한 후 Webhook URL을 사용하여 새로운 메시지를 게시할 수 있다. Webhook URL은 인증 및 권한 부여가 필요하지 않으며, 누..