포토그램 구독하기
postman으로 테스트 하기전에 DB에 유저 데이터가 없기 때문에
3명을 가입시켜주자
ssar / cos / love 이렇게 가입시켜준다
포스트맨에서 구독테스트 전에 로그인을 미리해줘야지 구독하기 테스트가 가능하다.
로그인 먼저 해본다
밑에 메인화면 소스라서 로그인 성공한걸 알 수 있다.
둘다 구독하기 성공했다
근데 같은걸 다시 구독하면
500 에러가 난다
에러를 잡아 줄 핸들러를 생성해준다
handler 폴더 안 ex 폴더 안에 CustomApiException.java 생성
(기존의 CustomValidationApiException.java를 복사해서 붙여넣고 명만 바꿔준다)
package com.cos.photogramstart.handler.ex;
public class CustomApiException extends RuntimeException {
private static final long serialVersionUID = 1L;
public CustomApiException(String message) {
super(message);
}
}
Java
복사
SubscribeService.java
@Transactional
public void 구독하기 (int fromUserId, int toUserId) {
try {
subscribeRepository.mSubscribe(fromUserId, toUserId);
} catch (Exception e) {
throw new CustomApiException("이미 구독을 하였습니다.");
}
}
Java
복사
구독하기에 try catch로 잡아준다
취소하기같은 경우는 오류날일이 없어서 안잡아줘도 된다.
ControllerExceptionHandler.java에 CustomApiException의 핸들러를 추가해준다
@ExceptionHandler(CustomApiException.class)
public ResponseEntity<CMRespDto<?>> apiException(CustomApiException e) {
return new ResponseEntity<>(new CMRespDto<>(-1,e.getMessage(),null), HttpStatus.BAD_REQUEST);
}
Java
복사
서버 재기동 됐으니까 다시 포스트맨에서 로그인 후 구독 테스트 진행