@JsonInclude(JsonInclude.Include.NON_NULL)은 Jackson 라이브러리에서 사용되는 어노테이션으로, JSON 직렬화 시에 특정 속성의 값이 null인 경우 해당 속성을 생성하지 않도록 지시합니다. 구체적으로 말하면, JsonInclude.Include.NON_NULL은 Jackson이 객체를 JSON으로 변환할 때, 해당 객체의 속성 중 값이 null인 속성들을 제외하고 JSON에 포함하도록 지정합니다. 이렇게 함으로써 생성된 JSON이 불필요한 null 값을 가지지 않게 되며, 일부 상황에서 JSON을 더 간결하게 만들 수 있습니다. 예를 들어, 다음과 같은 Java 클래스가 있다고 가정해봅시다: public class Person { private String name..
분류 전체보기
Users Microservice 개요 APIs 기능 URI(API Gateway 사용 시) URI(API Gateway 미사용 시) HTTP Method 사용자 정보 등록 /user-service/users /users POST 전체 사용자 조회 /user-service/users /users GET 사용자 정보, 주문 내역 조회 /user-service/users/{user_id} /users/{user_id} GET 작동 상태 확인 /user-service/users/health_check /users/health_check GET 환영 메시지 /user-service/users/welcome /users/welcome GET User Microservice와 Spring Cloud Gateway ..
업뎃(2024.04) 참고링크 : WebSecurityConfigurerAdapter 지원 중단 Users Microservice - Spring Security 연동 Spring Security는 Authentication(인증)과 Authorization(권한)과 관련된 작업을 처리할 수 있도록 해준다. 💡 인증(Authentication), 권한(Authorization) 💡 인증(Authentication) 사용자나 시스템이 자신이 주장하는 신원을 확인하는 프로세스 사용자가 시스템에 로그인하거나 특정 서비스에 액세스하기 위해 자격 증명(예: 아이디와 비밀번호)를 제공하는 것 💡 권한(Authorization) 적절한 인증이 통과되었을 때 할 수 있는 작업들이 어떤 것들이 있는가 통과가 안되었을 때..
Users Microservice - JPA ① VO 생성 RequestUser @Data public class RequestUser { @NotNull(message = "Email cannot be null") @Size(min = 2, message = "Email not me less than two characters") @Email private String email; @NotNull(message = "Name cannot be null") @Size(min = 2, message = "Name not be less than two characters") private String name; @NotNull(message = "Password cannot be null") @Size(mi..
ERROR 내용 application.yml에 아래 내용대로 했는데 h2에서 테이블이 생성되지 않았다. spring: application: name: user-service h2: console: enabled: true # console 사용하겠다 settings: web-allow-others: true # 외부접속허용하겠다. path: /h2-console # 접속하고자 하는 웹브라우저의 h2콘솔 주소 datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testDB 해결 해결 방법을 찾아보니 방법1) 들여쓰기를 잘해라 아래를 참고하여 들여쓰기를 해보자.. spring: application: name: user-service h2: con..
ERROR 내용 git add . 를 하려 했더니 오류가 떳다. 원인 이건 보통 맥 / 리눅스를 쓰는 개발자와 윈도우 쓰는 개발자가 Git으로 협업할 때 발생하는 Whitespace 에러라고 한다. 유닉스 시스템에서는 한 줄의 끝이 LF(Line Feed)로 이루어지는 반면, 윈도우에서는 줄 하나가 CR(Carriage Return)와 LF(Line Feed), 즉 CRLF로 이루어지는데 Git이 이 둘 중 어느 쪽을 선택할지 혼란이 온 것이다. 💡 LF (Line-Feed) LF는 Line-Feed의 약자이다.단어가 타자기에서 비롯되었듯이, 커서는 그 자리에 둔 상태에서 종이만 한 줄을 올리는 동작을 말한다. Mac, Linux(Unix)에서 사용되는 줄바꿈 문자열(\n)이다. 💡 CRLF (Carri..
Users Microservice 개요 APIs 기능 URI(API Gateway 사용 시) URI(API Gateway 미사용 시) HTTP Method 사용자 정보 등록 /user-service/users /users POST 전체 사용자 조회 /user-service/users /users GET 사용자 정보, 주문 내역 조회 /user-service/users/{user_id} /users/{user_id} GET 작동 상태 확인 /user-service/users/health_check /users/health_check GET 환영 메시지 /user-service/users/welcome /users/welcome GET Users Microservice 프로젝트 생성 설정 프로젝트 생성 De..
E-commerce 애플리케이션 CATALOG-SERVICE USER-SERVICE ORDER-SERVICE 전체적인 애플리케이션 구성 구성요소 설명 Git Repository 마이크로서비스 소스 관리 및 프로파일 관리 Config Server Git 저장소에 등록된 프로파일 정보 및 설정 정보 Eureka Server 마이크로서비스 등록 및 검색 API Gateway Server 마이크로서비스 부하 분산 및 서비스 라우팅 Microservices 회원 MS, 주문 MS, 상품(카테고리) MS Queuing System 마이크로서비스 간 메시지 발행 및 구독 애플리케이션 APIs 마이크로서비스 RESTful API HTTP Method Catalog Service /catalog-service/catal..
ERROR 내용 터미널에서 mvn spring-boot:run 을 했을 때 이런 에러 내용이 뜬다면 main class를 찾지 못한 것이다. Execution default-cli of goal org.springframework.boot:spring-boot-maven-plugin:3.2.1:run failed: Unable to find a single main class from the following candidates [com.example.firstserivce.FirstServiceApplication, com.example.firstserivce.FirstSerivceApplication] -> [Help 1] 해결 메인 클래스 명시적 설정을 해주면 된다. pom.xml 파일에서 spri..
Eureka 연동 Eureka Client 추가 - pom.xml, application.yml apigateway-service, first-service, second-service 3개의 프로젝트에 모두 추가 dependencies 확인(pom.xml 확인) - 세 개 프로젝트에 모두 적용 pom.xml apigateway-service, first-service, second-service 3개의 프로젝트에 eureka-client 의존성 추가 Maven일 경우 org.springframework.cloud spring-cloud-starter-netflix-eureka-client Gradle일 경우 implementation 'org.springframework.cloud:spring-clou..