val : 불변(Immutable), 읽기만 허용. ( 값 (Value)의 약자)var : 가변(Mutable), 값의 읽기, 쓰기가 모두 허용. ( 변수 (Variable)의 약자)Switch와 유사하게 사용된다.?:의 왼쪽 객체가 Non-null이면 그 객체의 값이
메인 에러 메시지com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.------.----.----.---.request.user.UserChangeR
https://ksabs.tistory.com/252
일단 kotlin에서 hibernate쓰는 방식이랑 java에서 hibernate 쓰는 방식이랑 다르다. 몇개의 설정이 필요함. 아래 링크에 kotlin으로 작성하는 jpa entity에 대한 설정을 어떻게 하면 좋을지 잘 나와있어서 나에게 필요한 부분을 정리해서 남겨
전에도 같은 에러가 떴었는데, 그당시에는 @RequestBody로 인터페이스를 받아와서 생기는 문제였다. (impl로 받아오니 해결됐음) 이번엔 Kotlin jpa로 바꾸면서 생긴 문제고, 위의 문제가 원인이 아니였음. { "code": "WRONG", "me
json 형식으로 잘 보내주고 있는데, 모든 값들이 0으로 들어간다.....정답은 위에서 Drug Entity에 대한 생성자를 만들어 줬는데, 생성자를 통해 들어오는 값을 변수에 대입해주는게 아니라 기본값을 설정해주니까 내가 설정한 기본값(0)으로만 값이 저장되고 아무
https://dealicious-inc.github.io/2022/08/29/kotlin-converting.htmlhttps://techblog.woowahan.com/2675/https://blog.junu.dev/37https:
Entity에 'private constructor + 정적팩토리 메소드' 를 이용해서 객체를 만드려고 했는데 Class 'XXX' should have \[public, protected] no-args constructor 문제가 떴다.난 no-arg 플러그인도 잘
프로젝트 요구사항Kotlin + JPA 로 구성하는데 set을 쓰면 안되고, Entity객체의 기본값은 설정해야함(생성자에서 디폴트값을 부여하거나, empty() 함수를 통해 기본값을 설정해줘서 항상 초기화 후에 static 함수를 한번 더 호출해서 해시코드 값을 변하
기존 위와 같이 service 내부에서 Drug생성자를 통해 객체를 생성했는데,Drug 객체를 만드는건 우리 프로젝트에서 copy() 를 이용하므로 생성할 일이 많다. (저장할때도, 수정할 때도 copy를 이용하게됨)\-> 위 코드처럼 계속 하면 Drug(userId
dart의 copyWith와 kotlin의 copy는 다르다.copyWith 내부에 ({}) 생성자 안에 {} 로 감싸져 있는데, 이건 코틀린에는 없는 문법이다.({}) 로 감싸면, 내부 생성자에 선언한 모든 변수를 파라미터로 보내주지 않아도 객체를 생성할 수 있다.
자바에서 @Transactional(rollbackFor = Exception.class)로 쓰는데 에러가 떠서 아래처럼 변경했따!@Transactional(rollbackFor = \[Exception::class])
mutable + add! 가 꼭 필요한 것 같다.양방향 연관관계에서 양쪽 모두에 관계를 맺어주는 건 이해가 가는데, copy는 안되고 꼭 add를 통해서 OneToMany에 주인을 넣어줘야하는건지 모르겠다....아무리 찾아도 없네 ㅠㅠ
외부 API로부터 데이터를 받을 DTO객체에는 모든 필드를 nullable 하게 만들어야 한다. 이유는 외부 API가 특정 필드에 대한 값을 내려주지 않는 상황에서도 예외가 발생하지 않아야 하기 때문이다 (예외가 발생한다면 외부 API에 대한 의존도가 너무 높아져버리기
@Transactional 이 기본적으로 uncheckedException 즉 RuntimeException이 일어날 경우에만 에러 잡아서 rollback 시키는 것은 검색을 통해 알았다.하지만 Kotlin은 uncheckedException과 checkedExcept
RequestBody 로 request를 받아올 때, 일반 단일 한 객체를 받아올 때도 있지만, 리스트로 받아오는 경우도 있다. 저장 시, List 로 객체를 받아오는 경우. DrugListDto 가 있고, DrugItemDto가 있다. DrugListDto 내부
발생 에러 : java.lang.NullPointerException: Parameter specified as non-null is null, parameter value\-> DrugListItemDto 가 List< DrugAddItemDto>? = null
기존 액세스 토큰 만료일 경우에도 filterChain.doFilter(request, response) 로 필터링 거쳐서 403에러를 내보냈는데, 에러상태코드를 분리하기 위해서 액세스 토큰이 만료됐을 경우 400에러를 내보내려고 한다.SecurityJwtFilter
설정https://olkkani.github.io/spring/start-kotlin-springboot-projct/config-querydsl-for-kotlin-springboot/kapt 인식안되면, gradle refresh 하기.EntityManag
수정 API작업에서 계속 500에러가 떴다. 전에는 안떴는데 왜 떴을까?전이랑 비교해서 다른 부분Entity PK(id)를 Int -> Long으로 변경Repository update, delete할 때 반환타입도 Int -> Long으로 변경문제가 됐던 코드Trans
목표 habitCategory : habit = 1 : Nhabit id를 habitAnswer의 habit_id 로 가지고 있음 (연관관계 X)\-> habitCategory를 불러올 때, habit의 목록을 가져오고 habit의 목록 중 로그인한 사용자의 habit
QueryDsl에 생성자로 주입하는 도중에 뜨는 에러.Parameter specified as non-null is null: method com.----.----.----.api.v2.response.painRecord.answer.PainRecordAnswerIte
if(list.isEmtpy) { throw IllegalArgumentException } 라는 코드를 만들었더니 detekt에서 Use require() instead of throwing an IllegalArgumentException. \[UseRequire]
val awsUserId = SecurityContextHolder.getContext().authentication.nameval awsUserId: String = SecurityContextHolder.getContext().authentication.name코틀
Controller에 @Validated 어노테이션을 붙이고, @PathVariable에 원하는 valid 어노테이션 붙여주기.업로드중..https://v3.leedo.me/devs/20
\`Conflicting getter definitions for property "version": com.------.-----.-----.api.v2.request.app.AppIntegrityDtorequestDto에서 @JsonProperty로 클라이언트에서는
그리고 그룹 중 V2 버전에만 (버전을 나눴다면) 추가하고 싶으면https://colabear754.tistory.com/179
테스트 코드 중 데이터가 같은데 assertTrue(data == expectedData) 안되는 경우data와 expectedData의 클래스가 같은지 봐라.둘 다 data class 인 경우에는 내부의 값을 비교하지만 예를들어 data class 한개 일반 clas
새로 프로젝트를 개발하면서, 기존 프로젝트에서는 Request에 @Valid를 넣어서 유효성 검증을 했는데 이 부분에 대해서 @Valid를 쓸지 말지 고민이였다.java + @Valid와 kotlin + @Valid는 궁합은 차이가 크기 때문에kotlin을 Reques
kotlin에서 querydsl의 OrderSpecifier이 java 쓰는 방법과 많이 다르다는걸 깨달았다...만들면서 다른 점을 몇개 말해보자면,해결법pathBuilder.get(it.property) as Expression<out Comparable<
QueryDsl로 페이지네이션을 처리하는데 문제가 발생했다.org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.query.SemanticException: Could not interpre
현재 프로젝트에서는 아무것도 응답할 게 없는 경우에 EmptyResponse를 사용한다.(Unit 을 응답하는게 가장 좋지만, 프론트의 요청사항으로 json 형식으로 응답하기 위함)Service에서 return EmptyResponse 이렇게 응답하는데 여기서 문제가