KakaoPay Open API 적용하면서 강사님이 잡아주신 에러 등 정리

또리·2024년 7월 26일

1. .으로 연결된 코드 풀어쓰기


위 주석 되어있는
      @@
      .@@....
이런 문법은
아래처럼 xxx = ~
            xxx2 = xxx.~
            xxx3 = xxx2.~
로 풀어쓸 수 있다.

2. 데이터값이 전달되지않으면 생성자 주입여부 확인! (feat. @NoArgsConstructor)

serviceImpl 클래스에
@NoArgsConstructor 설정 시,
생성자 주입이 불가함.

@NoArgsConstructor 사용시 >@Autowired
@NoArgsConstructor 미사용시 > 생성자 주입 사용

**생성자 주입(의존성) 빠뜨리지 말고 꼭!!!! 하기!!

3. 어디서부터 잘못 됐는지..try~catch, log info 적극활용

현재는 Exception 패키지 내의 파일로 예외를 잡고 있는데
어디서 난 예외인지 파악하려면 필요한 파일에
try catch 블럭 만들고
내용을 받아왔는지 알고싶은 곳 어디든
log.info 찍어서 확인하기.

4. console 읽을 때는

예외 메세지(빨갱이)에서는 내가 모르는 글자는 넘기고
아는 것부터 읽고 해결해보기.

5. Entity와 DTO의 상관관계

서비스를 기점으로 repository쪽은 Entity로 내용전달,
controller쪽은 DTO로 내용이 전달된다.
그래서 service에서 형변환 필요(modelMapper)

6. Entity에서 snake->camel 변경 시

Entity에는 변수명 카멜로 변경 시

@Column(name = "category_id")

와 같이 어노테이션 달아주기

7. ModelMapper를 이용한 DTO-Entity변환 >

1) @bean으로 만들기


**spring이 이것을 bean으로 관리하기 시작

2) ProductsServiceImpl 클래스가 ModelMapper를 주입받아 사용할 수 있도록 작성


(그리고 Application.java에서 임포트 한번 해줘야하는듯..!)


8. API 호출값 중 유효하지 않은 값이 존재합니다.

그리고 받아오지 못한 데이터를 어디서부터 못받아온건지
강사님이 대강 다 추적해서 찾아준 후에,
카카오페이를 Talend API에서 실행시킬 때
200인데 body에는 no response가 뜨고, console에 한글로

org.springframework.web.client.HttpClientErrorException$BadRequest: 400 Bad Request: "{"error_code":-400,"error_message":"API 호출값 중 유효하지 않은 값이 존재합니다. (등록된 도메인(플랫폼 > Web > 사이트도메인)이 존재하지 않아 도메인 검증이 불가능합니다.)"}"

라는 메시지가 빨간색으로 떴음.
처음에는 카카오페이 개발자 홈페이지를 수정해야된다는 생각을 못하고 헤맸는데
나중에 보니 이건 스프링이아니라 카카오페이 API에서 보낸 console인듯..?
아무튼 홈페이지(https://developers.kakaopay.com/)에 들어가면 로그인 후

애플리케이션>플랫폼>web이 비어있다면

사이트도메인(현재 사용하는 사이트도메인)을 가이드라인에 맞게 입력해주면 된다.

**참고로 (내 포트번호임) http://localhost:8090/는 안되고
http://localhost:8090 (마지막 슬래쉬 없어야됨!!!!) 이거는 됨
이거때매 왜안돼1!!! 하면서 한세월..

가이드라인을 잘 읽자...아니 읽자..

여기까지 작업하면 Talend API에 POST 요청 시

이렇게 tid와 redirect url을 불러와 준다아ㅏ아ㅏㅇ ㅖ에에ㅔㅐ

0개의 댓글