출처 - 회사 프로젝트에 필요해서 함
⚠️ 아래 모든 코드는 빈껍데기 코드임을 알림
[Service단]
public class SendService() {
// 이하 생략
public void sendKakaoNotice() {
// 발송용 requestBody 생성
SendKakaoNotice requestBody = SendKakaoNotice.of("K(대충카카오알림톡을 보낸다는 타입코드)", "결제가 성공하였습니다. <br/> 결제정보: 신용카드 xxxx-xxxx-xxxx-xxxx");
// 발송용 header 생성
HttpHeaders headers = createHeaders();
// 딜러사 발송 API 호출
List<KakaoNoticeResponse> response = restClient.post()
.uri("http://도메인/send/notice") // 딜러사에서 제공해줌
.headers(httpHeaders -> httpHeaders.addAll(headers)) // 딜러사에서 요청 헤더 정보 알려줌
.contentType(MediaType.APPLICATION_JSON) // 이것도 정해줌
.body(requestBody) // 카카오 알림톡으로 보내고싶은 정보 body에 담음
.retrieve()
.body(new ParameterizedTypeReference<>(){}); // 제너릭 타입으로 응답 가능
// 이후 응답 & 에러 처리
}
}
그럼 아래처럼 카카오 알림톡이 전송되는걸 볼수있음
restClient 쓴 이유
- 다른회사의 단말연동API를 보는건 처음이라 신선했다
- response 에 대한 무슨 경우의 수가 이렇게 많은지 이후 처리로직에서 할게많았다
- PR에서 수없이 튕겼지만 그래도 재밌었음