전체 글

행복한띠용이의 코딩 블로그입니다.
·Programming/Spring
1, 개요N:M 관계를 여러 이유로 1:N, M:1 로 풀어 엔티티를 생성했습니다.현재 Member 와 Group 기능의 엔티티를 생성하려 했으나 Mysql 에서 "group", "groups" 가 모두 예약어로 생성 안되는 에러가 계속 발생했습니다.따라서 Member 와 Team 으로 중간 MemberTeam 테이블을 놓고 다대다 관계를 생성했습니다.이후 로그인 된 Member 가 속한 Team 을 모두 조회하려는 로직을 짜던 중 에러가 발생했습니다.가장 이해가 안되는 부분은 지금까지 다른 axios 의 http 요청에서는 문제가 없었는데 갑자기 localhost:3000 으로 데이터 요청이 오가고 400 Bad Request 가 실행된다는 점.그리고 response 의 data 에 백엔드에서 보내는 ..
·Programming/Spring
1. 개요프로젝트를 진행하면서 테스트에 중요성은 항상 강조되었습니다. 하지만 실제 간단한 개발만 진행했다는 이유로 테스트 코드는 등한시했었습니다.테스트는 코드의 무결성을 보장해주는 최소한의 안전 장치입니다. 코드가 변경되더라도 핵심 로직이 테스트 코드로 작성되어있다면 변경된 기능의 안정성을 신뢰도 높게 검증할 수 있습니다. 이외에도 TDD 등의 개발 방법론의 장단점은 어디에서나 쉽게 찾아볼 수 있습니다. 본 게시글에서는 Kotlin 에 적합한 테스트 코드 방법을 알아보고 적용시켜보고자 합니다.2. 단위 테스트실제 테스트 코드를 살펴보기 앞서 테스트에 대해 살펴보겠습니다. 단위 테스트의 중요성은 강조되지만 학부 수준에서 테스트 코드의 중요성을 실감하기에는 어려움이 있습니다. 단위 테스트는 코드를 수정하거나..
·Programming/Spring
추가 작업으로 일정한 Response 형식을 반환하고 ExceptionHandler 를 추가하겠습니다.1. BaseResponsedata class BaseResponse( val resultCode: String = ResultCode.SUCCESS.name, val data: T? = null, val message: String = ResultCode.SUCCESS.msg,)응답은 다음과 같이 나타낼 것입니다. Data 와 message 를 분리하고 Exception 에 Custom message 가 정확하게 뜨는 것을 예상합니다.2. ExceptionHandler@RestControllerAdviceclass CustomExceptionHandler { @ExceptionHa..
·Programming/Spring
구조를 우선적으로 파악한 이후 Kotlin 으로 컴팩트하게 JWT Token 처리를 진행해보겠습니다.1. CustomUserDetails, CustomUserDetailsServiceclass CustomUser( val userId: Long, userName: String, password: String, authorities: Collection) : User(userName, password, authorities)@Serviceclass CustomUserDetailsService( private val memberRepository: MemberRepository,) : UserDetailsService { override fun loadUserByUsernam..
·Programming/Spring
JWT 인증은 실제로 Filtter 를 통해 이루어집니다.JWTTokenProvider 에서 말했듯이 결국 인증은 UsernamePasswordAuthenticationFilter 에서 이루어집니다.또한 AuthenticationManager 에서 CustomUserDetailsService 로직을 실행하게 됩니다.1. JwtAuthenticationFilterpublic class JwtAuthenticationFilter extends UsernamePasswordAuthenticationFilter { private final AuthenticationManager authenticationManager; private final JwtTokenProvider jwtTokenProvide..
행복한띠용이
행복한띠용이의 코딩