Spring69 JWT JWT 특성 Jwt 는 StateLess 쉽게 말하자면 DB 작업을 하지 않는다(저장 되지 않는). 알고리즘을 굴려 암호화 된 토큰을 보낸다. 서버측 에서 는 토큰을 JWT 구성 header : alg : 암호화 알고리즘(ex: HMAC SHA256, RSA) typ : 토큰 유형 Payload : 실제로 사용될 정보/내용을 담고 있는 섹션이다. 토큰에서 사용할 정보의 조각들인 Claim 이 담겨있다. (실제 JWT 를 통해서 알 수 있는 데이터) Signiture : 시그니처에서 사용하는 알고리즘은 헤더 에서 정의한 알고리즘 방식(alg)을 활용한다. 시그니처의 구조는 (헤더 + 페이로드)와 서버가 갖고 있는 유일한 key 값을 합친 것을 헤더에서 정의한 알고리즘으로 암호화를 한다. JWT의 장담점 J.. 2024. 3. 2. Service 테스트 / Mock 초간단 요약. Mock 은 가짜 객체 입니다. @Mock Repository repo ; 는 그냥 repository 인척 하는 것입니다. 예 를 들면 이런 service 코드 가 있습니다. @Transactional public Long updateSchedule(Long id, ScheduleRequestDto requestDto, User user) { // DB에 존재하는지 확인 Schedule sc = ScRepository.findById(id).orElseThrow(()-> new NoSuchElementException("해당 일정 찾을수 없습니다."));; // 유저 확인. if(sc.getUser().getId().equals(user.getId())){ // 내용 수정 sc.update(reques.. 2024. 2. 26. Error 메시지 관리하기 + global 에 적용예시. Spring의 properties 파일을 이용한 에러 메시지 관리 properties 파일을 이용하여 에러 메시지를 관리할 수 있습니다. 에러 메시지는 properties 파일에서 key-value 형태로 작성되며, 작성된 값은 messageSource 를 Bean으로 등록하여 사용할 수 있습니다. resources > messages.properties (새파일) 필요 한데 private final MessageSource messageSource; 추가 (자동으로 bean 으로 등록 됩니다) 사용 예시 throw new IllegalArgumentException( messageSource.getMessage( "below.min.my.price", new Integer[]{min_price}, "W.. 2024. 2. 19. Spring global 예외처리 사실 예외처리 로직 자체는 매우 공통적 필요한 곳에서 Error를 만들어서 던지고, 그 Error를 받는곳이 어디든 그 Error 내용을 담아서 클라이언트에 보내주면 됩니다. @ControllerAdvice 사용 Spring에서 예외처리를 위한 클래스 레벨 애너테이션 모든 Controller에서 발생한 예외를 처리하기 위해 사용됩니다. @ExceptionHandler메서드를 정의하여 예외를 처리하는 로직을 담을 수 있습니다. @ControllerAdvice 사용하는 이유? : 1. 예외처리를 중앙 집중화하기 좋습니다. 2. Controller 예외처리 로직을 반복하지 않아도 됨 3. 예외 처리 로직을 모듈화 ( 관리하기 쉽다 ---> 개발 생산성을 향상시키는 것도 가능합니다.) @RestControlle.. 2024. 2. 19. 이전 1 ··· 5 6 7 8 9 10 11 ··· 18 다음