Gradle 의존성 버전은 최신버전으로 추가한다. dependencies { implementation group: 'com.github.ulisesbocchio', name: 'jasypt-spring-boot-starter', version: '3.0.4' } 암호화 예시 코드 평문을 암호문으로 바꿔보겠다 import org.assertj.core.api.Assertions; import org.jasypt.encryption.pbe.StandardPBEStringEncryptor; import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig; import org.junit.jupiter.api.Test; import org.springframewor..
에러 내용 Invalid character found in method name. HTTP method names must be tokens 에러 상황 테스트 서버에 프로젝트를 배포한 뒤 테스트 하려고 Postman에서 POST 요청을 했더니 위와 같은 에러가 발생했다. 에러 설명 이 에러는 HTTP 요청에 유효하지 않은 문자가 포함되어 발생한 에러이다. 이 에러의 주요 원인은 서버가 SSL 설정이 안 되어 있어 HTTPS가 활성화 되어있지 않은 상태에서 HTTPS 요청을 보낸 경우이다. 테스트 용도로 사용하는 서버라서 SSL 설정을 하지 않았다. 당연히 HTTPS 설정을 하지 않았는데 HTTPS 요청을 보냈으니 에러가 난 것이다. 그 외에도 포트번호나 메소드 이름이 틀릴 수 있으니 URL을 잘 확인하고..
1. byte[] → String 으로 변환하는 일반적인 방법 아래 4가지 방법을 사용할 수 있다. String happy = "Happy !!"; byte[] byteHash = happy.getBytes(); // 1번 String plainText1 = new String(byteHash); // 2번 String plainText2 = new String(byteHash, StandardCharsets.UTF_8); // 3번 String plainText3 = new String(byteHash, Charset.forName("UTF-8")); // 4번 String plainText4 = new String(byteHash, Charset.forName("EUC-KR")); 2. byte[] ..
간단한 API 테스트 중 에러 발생. 에러 메세지는 아래와 같다. ERROR [DirectJDKLog.java - log] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Long'. Check configuration ..
테스트 도중 런타임 에러가 발생했다. IllegalArgumentException 에러니까 잘못 된 인자가 넘어갔다는 거다. 아래는 에러 메세지다. 읽어보면 해당 Class에서 선언된 JSON의 필드 중에 중복된 값이 있다고 한다. 친절하게 중복 선언된 필드 이름과 클래스 경로까지 알려준다. Class net.com.demo.domain.Entity declares multiple JSON fields named 'regdate'; conflict is caused by fields net.com.demo.domain.Entity #regdate and net.com.demo.domain.CommonEntity#regdate 본인의 경우는 상속된 부모 CommonEntity라는 클래스에 regdate가 ..
Timestamp 자료형 데이터를 LocalDateTime으로 받아 출력하면 날짜가 원하는 format으로 나타나지 않고 아래와 같이 응답받는 문제를 발견했다. {"regdate": { "date": { "year": 2023, "month": 1, "day": 9 }, "time": { "hour": 14, "minute": 41, "second": 39, "nano": 0 } } } 날짜 데이터를 timestamp 형식으로 변형하기 위해 직렬화/역직렬화가 쉬운 Gson을 사용하기로 했다. 우선 Gson 모듈을 추가해준다. implementation group: 'com.google.code.gson', name: 'gson', version: '2.10.1' implementation group: '..
사용할 jdk를 변경했다면 인텔리제이에서도 jdk 변경을 해줘야한다. 웬만하면 인텔리제이가 자동으로 버전을 잡아주지만 잘 변경 됐는지 확인을 위해 방법을 기록한다. 본인이 사용하고 있는 java 버전이 무엇인지 확인한다. java -version 1. IntelliJ preferences 에 들어간다. 단축키는 Command+,(MacOS) 또는 Ctrl+Alt+S(windows) 이다. 2. IntelliJ preferences > Build, Execution, Deployment > Build Tools > Gradle > Build and run > 17버전 설정 3. IntelliJ preferences > Build, Execution, Deployment > Compiler > Java Co..
1. oracle java 다운로드 페이지에서 자신의 OS와 맞는 JDK를 다운 받는다 https://www.oracle.com/java/technologies/downloads/#jdk17-mac Download the Latest Java LTS Free Subscribe to Java SE and get the most comprehensive Java support available, with 24/7 global access to the experts. www.oracle.com 2. 다운로드 된 파일을 클릭하여 설치를 진행한다. 3. 자신이 사용하는 bash를 연다 # 2개중 자신이 사용하는 bash를 연다 vi ~/.bash_profile vi ~/.zshrc 4. JAVA_HOME의 PAT..