소개
안녕하세요.
코틀린과 스프링을 즐겁게 공부하고 있는 개발자입니다.
현재 10년 차 개발자로 핀테크 스타트업에 있습니다.
강의를 제작하면서 저 스스로도 더 공부를 하고 제가 공부한 지식들을 공유하고 싶어서 이렇게 강의를 만들게 되었습니다.
강의
전체 3수강평
- [초급] 맛보자! 코틀린과 스프링으로 API 호출하기
- [초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기
- [초급] 맛보자! 코틀린과 스프링으로 API 호출하기
- [초급] 찍어먹자! 코틀린과 Spring Security + JWT로 회원가입 만들기
게시글
질문&답변
2023.12.04
DTO 생성 과정에서 궁금한 점이 있어요!!
이전에 이와 관련된 질문을 남겨주신 분이 계셔서 해당 글 읽어보시면 도움되실 것 같습니다.감사합니다.https://www.inflearn.com/questions/1012428/validation-%EA%B4%80%EB%A0%A8%ED%95%B4%EC%84%9C-%EC%A7%88%EB%AC%B8%EB%93%9C%EB%A6%BD%EB%8B%88%EB%8B%A4
- 0
- 3
- 403
질문&답변
2023.12.04
2.5강에서 포스트맨 오류와 전에 실습한 내용에 대해 질문 드립니다
안녕하세요 재성님. 질문 남겨주셔서 감사합니다. 제가 직접 재성님의 소스를 보지를 못해서 정확한 원인 파악은 어려우나작성하신 내용 기준으로 보면 아마도 두 강의를 하나의 프로젝트에서 작성하셔서 @RestControllerAdvice안에 있는 ExceptionHandler가 중복이 되서 문제가 일어난 것으로 추측됩니다. 두 강의가 따로 작성된 것이여서 별도의 프로젝트를 만들어서 진행하시기를 권장 드립니다.그리고 현재 하나의 프로젝트에서 사용하시려면 중복되는 ExceptionHandler를 제거해서 Exception이 발생했을때 한곳에서만 받아 처리하면 해결될 것으로 보입니다. 감사합니다.
- 0
- 2
- 423
질문&답변
2023.12.04
DTO 생성 과정에서 궁금한 점이 있어요!!
안녕하세요 평생주니어님.질문 주셔서 감사합니다.DTO 생성할때 좀 더 간편하고 쉽게 처리하는 방법을 질문 주셨는데 data class 대신에 class를 사용하면 더 간편하게 사용할 수 있습니다. data class LoginDto( @field:NotBlank @JsonProperty("loginId") private val _loginId: String?, @field:NotBlank @JsonProperty("password") private val _password: String?, ) { val loginId: String get() = _loginId!! val password: String get() = _password!! } class LoginDto( loginId: String?, password: String?, ) { @field:NotBlank val loginId: String = loginId ?: "" @field:NotBlank val password: String = password ?: "" }class를 사용해서 null 허용 타입으로 일단 DTO에 데이터를 담고 중괄호 안에 프로퍼티를 두고 validation 어노테이션을 사용해서 체크를 하면서 null 불가 타입은 DTO를 사용시 null 고려없이 사용하는 방법도 있습니다. 감사합니다.
- 0
- 3
- 403
질문&답변
2023.11.07
1 : N 필드 `memberRole` 에 @OneToMany 옵션 cascade 미사용, 컬랙션 null 초기화 에 대한 질문입니다.
안녕하세요. Truestar님 질문 남겨주셔서 감사합니다.두가지 질문에 답변을 같이 남기자면 해당 강의가 초보자를 대상으로 Spring Security와 JWT를 한번 사용해보는 강의여서 예제가 그렇게 되었습니다.Q1. cascade 미사용=> cascade 를 사용하면서 설명을 하려면 영속성 컨텍스트를 같이 설명을 해야해서 해당 부분은 제외하고 서비스에서 바로 넣어주는 코드를 작성하였습니다. 다른 이유는 없고 이렇게 하는게 초보자분들이 이해하시는데 쉬울 것으로 판단했습니다. Q2. 컬렉션 null 초기화=> 이것도 내용은 동일합니다.@OneToMany(fetch = FetchType.LAZY, mappedBy = "member") val memberRole: List? = null해당 예제에서 memberRole을 권한 확인시 조회용으로만 쓰려고 했습니다.회원가입시 DB에 바로 저장만 하고 끝나기에 memberRoleRepository를 사용해서 memberRole을 저장하면서 member 엔티티에 연결해주지 않았습니다.그래서 빈 리스트로 미리 초기화할 필요가 없어서 null로 넣었습니다. 실제 개발을 할때는 여러가지를 고려해서 개발을 진행하지만 해당 강의는 초보자가 쉽게 따라할 수 있는 강의를 만드는데 포커싱을 두고있어서 보실때 이상한 예제가 있을 수 있을 것 같습니다. 다음번에는 좀 더 확실하고 쉬운 예제로 찾아뵙도록 하겠습니다. 감사합니다 :)
- 0
- 2
- 321
질문&답변
2023.11.07
build.gradle.kts 오류가 발생해요
안녕하세요 재성님 질문 남겨주셔서 감사합니다. 다시 빌드해서 해결되지 않았다면 캐시 문제가 아닐까 생각됩니다.File -> Invalidate Caches... -> Invalidate and Restart 눌러서 IntelliJ 다시 시작해보시면 해결 될 수도 있습니다. (사진)(사진)한번 해보시고 안되시면 다시 질문 부탁드립니다. 감사합니다 :)
- 0
- 2
- 2K