분류 전체보기 645

[Error] Could not read JSON: Cannot construct instance of `x` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

Caused by: org.springframework.messaging.converter.MessageConversionException: Could not read JSON: Cannot construct instance of `x` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (byte[])"{"id":"3","username":"abc","email":"test@test.test","displayName":null,"profilePictureUrl":"rabbit.jpa","eventType":"C..

Message Queue/Kafka 2023.02.08

Preflight request

Preflight는 HTTP 요청의 종류다. 요청된 기능이 안전하고 이용가능한지 확인하기 위해 실제 요청을 보내기 전에 전송 서버의 CORS (Cross-Origin Resource Sharing) 정책을 확인하기 위해 사용된다. preflight request는 실제 요청(예를 들어, GET 또는 POST 요청처럼)으로 전송하는 것이 안전한지 결정하기 위해 브라우저에서 서버로 전송되는 HTTP OPTIONS 요청이다. 서버는 허용 가능한 메소드, 헤더, 원본 정보를 응답으로 보낸다. preflight request의 목적은 서버의 리소스에 인증되지 않은 접근을 막는다. 또한, 어떠한 민감한 정보가 보호될지 보장하고, 비정상적인 행위자에게 노출되지 않도록 한다. Preflight request를 언제 사..

Web 2023.02.05

[Error] com.fasterxml.jackson.databind.exc.InvalidDefinitionException

⭐ 상황 @Builder public class CommentResponse { private String id; private String username; private String content; private Like like; private Instant createdAt; } List responseList = commentRepository.findAllByPostId(post_id).stream() .map(comment -> CommentResponse.builder() .id(comment.getId()) .username(comment.getUsername()) .content(comment.getContent()) .like(comment.getLike()) .createdAt(co..

Mongosh 사용

mongoDB shell 접속 mongosh Document use 데이터베이스명 데이터베이스 사용 없으면 만들어준다. db 현재 사용중인 데이터베이스 확인 show dbs 서버 내의 데이터베이스 리스트 최소 한 개의 Document를 가진 DB만 출력! db.컬렉션명.insertOne({key:value, ...}) 컬렉션 안에 Document 추가 db.데이터베이스이름.find() DB내의 도큐먼트 조회 Collection db.createCollection(컬렉션명[, options]) Collection 생성 options 참고하기👇 https://www.mongodb.com/docs/manual/reference/method/db.createCollection/ db.createCollectio..

DB/MongoDB 2023.01.29

[Neo4j] Expected a result with a single record, but this result contains at least one more. Ensure your query returns only one record.

Expected a result with a single record, but this result contains at least one more. Ensure your query returns only one record. 상황) A가 B를 follow하는 메소드 내에서 findByUserid를 하면서 발생했다. 원인) 쿼리가 1개 이상의 값을 반환하기 때문이다. 해결) Neo4j Desktop에 들어가서 확인해보니 userid가 중복으로 있어서 제거했다. 참고 👇 https://stackoverflow.com/questions/73070405/spring-data-neo4j-expected-a-result-with-a-single-record-but-this-result-contai Spring D..

DB/Neo4j 2023.01.29

[Error] The propertyClass in JsonTypeDescriptor is null, hence it doesn't know to what Java Object type to map the JSON column value that was read from the database!

org.hibernate.HibernateException: The propertyClass in JsonTypeDescriptor is null, hence it doesn't know to what Java Object type to map the JSON column value that was read from the database! spring.jpa.hibernate.ddl-auto=create로 설정해서 실행하면 테이블이 생성된다. JSON 필드가 있는 테이블이 잘 생성되길래 문제가 없을 줄 알았는데.. DB에서 읽어올 때 문제가 생김~ 해결 과정 1. 버전 변경 Hibernate 5.1.2 버전을 사용중이었다. implementation 'io.hypersistence:hypersisten..

generic

제너릭(generic) JDK 1.5부터 도입됨 클래스/메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정 클래스/메소드 내부에서 사용되는 객체의 타입 안정성을 높인다. 반환값에 대한 타입 변환 및 타입 검사에 들어가는 수고를 줄인다. @Getter @Setter @NoArgsConstructor public class Response extends CommonResponse{ private T result; } T는 타입 변수, 임의의 참조형 타입 T 뿐만 아니라 어떠한 문자를 사용해도 상관없다! @PostMapping("/friends-state") public Response getFriendsState(@RequestBody List ids) { return responseService...

JAVA 2023.01.25

엔티티의 필드 타입으로 JSON 사용하기

implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'io.hypersistence:hypersistence-utils-hibernate-5:3.1.1' 의존성 추가 실행할 때 hibernate 버전 보고, https://github.com/vladmihalcea/hypersistence-utils 여기에서 맞는 hypersistence-utils를 찾았다. @Type(type="json") @Column(columnDefinition = "json") private Profile profile; json을 필드에 적용했다. @TypeDef(name = "json", typeClass = JsonType..

OpenJDK 설치

https://github.com/ojdkbuild/ojdkbuild GitHub - ojdkbuild/ojdkbuild: Community builds using source code from OpenJDK project Community builds using source code from OpenJDK project - GitHub - ojdkbuild/ojdkbuild: Community builds using source code from OpenJDK project github.com 내 OS는 Windows Oracle JDK를 지우고 OpenJDK로 바꿨다. 위의 링크에 들어가서 zip 파일 설치 환경변수 설정 시스템 변수의 Path에 %JAVA_HOME%\bin 추가 bin뒤에 \붙이면 ..

JAVA 2023.01.22